久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

<small id='h04gM'></small><noframes id='h04gM'>

  1. <i id='h04gM'><tr id='h04gM'><dt id='h04gM'><q id='h04gM'><span id='h04gM'><b id='h04gM'><form id='h04gM'><ins id='h04gM'></ins><ul id='h04gM'></ul><sub id='h04gM'></sub></form><legend id='h04gM'></legend><bdo id='h04gM'><pre id='h04gM'><center id='h04gM'></center></pre></bdo></b><th id='h04gM'></th></span></q></dt></tr></i><div class="qwawimqqmiuu" id='h04gM'><tfoot id='h04gM'></tfoot><dl id='h04gM'><fieldset id='h04gM'></fieldset></dl></div>
    <legend id='h04gM'><style id='h04gM'><dir id='h04gM'><q id='h04gM'></q></dir></style></legend>

    1. <tfoot id='h04gM'></tfoot>
      • <bdo id='h04gM'></bdo><ul id='h04gM'></ul>

      onTouchEvent()中如何區(qū)分移動和點擊?

      How to distinguish between move and click in onTouchEvent()?(onTouchEvent()中如何區(qū)分移動和點擊?)

      <small id='bLITL'></small><noframes id='bLITL'>

        1. <i id='bLITL'><tr id='bLITL'><dt id='bLITL'><q id='bLITL'><span id='bLITL'><b id='bLITL'><form id='bLITL'><ins id='bLITL'></ins><ul id='bLITL'></ul><sub id='bLITL'></sub></form><legend id='bLITL'></legend><bdo id='bLITL'><pre id='bLITL'><center id='bLITL'></center></pre></bdo></b><th id='bLITL'></th></span></q></dt></tr></i><div class="qwawimqqmiuu" id='bLITL'><tfoot id='bLITL'></tfoot><dl id='bLITL'><fieldset id='bLITL'></fieldset></dl></div>
            <tbody id='bLITL'></tbody>
            <legend id='bLITL'><style id='bLITL'><dir id='bLITL'><q id='bLITL'></q></dir></style></legend>

              • <bdo id='bLITL'></bdo><ul id='bLITL'></ul>
              • <tfoot id='bLITL'></tfoot>
              • 本文介紹了onTouchEvent()中如何區(qū)分移動和點擊?的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!

                問題描述

                在我的應用程序中,我需要同時處理移動和點擊事件.

                In my application, I need to handle both move and click events.

                點擊是一個 ACTION_DOWN 動作、幾個 ACTION_MOVE 動作和一個 ACTION_UP 動作的序列.理論上,如果您收到一個 ACTION_DOWN 事件,然后是一個 ACTION_UP 事件 - 這意味著用戶剛剛單擊了您的視圖.

                A click is a sequence of one ACTION_DOWN action, several ACTION_MOVE actions and one ACTION_UP action. In theory, if you get an ACTION_DOWN event and then an ACTION_UP event - it means that the user has just clicked your View.

                但實際上,此序列不適用于某些設(shè)備.在我的三星 Galaxy Gio 上,只需單擊我的視圖就會得到這樣的序列:ACTION_DOWN,幾次 ACTION_MOVE,然后是 ACTION_UP.IE.我收到一些帶有 ACTION_MOVE 操作代碼的意外 OnTouchEvent 觸發(fā).我從來沒有(或幾乎從來沒有)得到序列 ACTION_DOWN -> ACTION_UP.

                But in practice, this sequence doesn't work on some devices. On my Samsung Galaxy Gio I get such sequences when just clicking my View: ACTION_DOWN, several times ACTION_MOVE, then ACTION_UP. I.e. I get some unexpectable OnTouchEvent firings with ACTION_MOVE action code. I never (or almost never) get sequence ACTION_DOWN -> ACTION_UP.

                我也不能使用 OnClickListener,因為它沒有給出點擊的位置.那么如何檢測點擊事件并將其與移動區(qū)別開來呢?

                I also cannot use OnClickListener because it does not gives the position of the click. So how can I detect click event and differ it from move?

                推薦答案

                這是另一個非常簡單的解決方案,不需要您擔心手指被移動.如果您將點擊作為簡單移動距離的基礎(chǔ),那么您如何區(qū)分點擊和長點擊.

                Here's another solution that is very simple and doesn't require you to worry about the finger being moved. If you are basing a click as simply the distance moved then how can you differentiate a click and a long click.

                您可以在其中添加更多智能并包括移動的距離,但我還沒有遇到一個實例,即用戶可以在 200 毫秒內(nèi)移動的距離應該構(gòu)成移動而不是點擊.

                You could put more smarts into this and include the distance moved, but i'm yet to come across an instance when the distance a user can move in 200 milliseconds should constitute a move as opposed to a click.

                setOnTouchListener(new OnTouchListener() {
                    private static final int MAX_CLICK_DURATION = 200;
                    private long startClickTime;
                
                    @Override
                    public boolean onTouch(View v, MotionEvent event) {
                        switch (event.getAction()) {
                            case MotionEvent.ACTION_DOWN: {
                                startClickTime = Calendar.getInstance().getTimeInMillis();
                                break;
                            }
                            case MotionEvent.ACTION_UP: {
                                long clickDuration = Calendar.getInstance().getTimeInMillis() - startClickTime;
                                if(clickDuration < MAX_CLICK_DURATION) {
                                    //click event has occurred
                                }
                            }
                        }
                        return true;
                    }
                });
                

                這篇關(guān)于onTouchEvent()中如何區(qū)分移動和點擊?的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網(wǎng)!

                【網(wǎng)站聲明】本站部分內(nèi)容來源于互聯(lián)網(wǎng),旨在幫助大家更快的解決問題,如果有圖片或者內(nèi)容侵犯了您的權(quán)益,請聯(lián)系我們刪除處理,感謝您的支持!

                相關(guān)文檔推薦

                Get user#39;s current location using GPS(使用 GPS 獲取用戶的當前位置)
                IllegalArgumentException thrown by requestLocationUpdate()(requestLocationUpdate() 拋出的 IllegalArgumentException)
                How reliable is LocationManager#39;s getLastKnownLocation and how often is it updated?(LocationManager 的 getLastKnownLocation 有多可靠,多久更新一次?)
                How to detect Location Provider ? GPS or Network Provider(如何檢測位置提供者?GPS 或網(wǎng)絡(luò)提供商)
                Get current location during app launch(在應用啟動期間獲取當前位置)
                locationManager.getLastKnownLocation() return null(locationManager.getLastKnownLocation() 返回 null)
                  <tbody id='sDqPc'></tbody>
                  <i id='sDqPc'><tr id='sDqPc'><dt id='sDqPc'><q id='sDqPc'><span id='sDqPc'><b id='sDqPc'><form id='sDqPc'><ins id='sDqPc'></ins><ul id='sDqPc'></ul><sub id='sDqPc'></sub></form><legend id='sDqPc'></legend><bdo id='sDqPc'><pre id='sDqPc'><center id='sDqPc'></center></pre></bdo></b><th id='sDqPc'></th></span></q></dt></tr></i><div class="qwawimqqmiuu" id='sDqPc'><tfoot id='sDqPc'></tfoot><dl id='sDqPc'><fieldset id='sDqPc'></fieldset></dl></div>
                1. <small id='sDqPc'></small><noframes id='sDqPc'>

                  • <tfoot id='sDqPc'></tfoot>
                      <bdo id='sDqPc'></bdo><ul id='sDqPc'></ul>

                          <legend id='sDqPc'><style id='sDqPc'><dir id='sDqPc'><q id='sDqPc'></q></dir></style></legend>
                        • 主站蜘蛛池模板: 亚洲福利在线观看 | 日本精品一区二区三区视频 | 中文字幕在线一区二区三区 | 欧美一级www片免费观看 | 久久一二区 | 日韩在线免费电影 | 欧美日韩黄 | 精品乱码一区二区 | 日韩成人一区二区 | 美女在线观看av | 精品无码久久久久国产 | 国产精品视频久久久 | 欧美日韩国产精品一区 | 免费簧片视频 | 精品一区二区三区免费视频 | 亚洲一区视频在线 | 国产成人自拍一区 | www.av在线 | 91麻豆精品国产91久久久更新资源速度超快 | 国内精品一区二区 | 日韩成人在线播放 | 四虎影院一区二区 | 久久1区| 成人高清视频在线观看 | 亚洲成人一区二区 | 黄色一级电影免费观看 | 日本亚洲精品成人欧美一区 | 在线观看视频亚洲 | 亚洲午夜在线 | 最新免费av网站 | 欧美一区在线视频 | 国产成人精品一区二区三区四区 | 天天操天天射综合 | 国产成人一区二 | 91视频国产一区 | 国产一区二区三区在线 | 精品久久久久久久久久久久久 | 五月婷婷激情网 | 欧美日韩不卡合集视频 | 亚洲成人激情在线观看 | 欧美日韩精品一区二区 |