簡體   English   中英

MotionEvent.Action_UP失敗

[英]MotionEvent.Action_UP fails

我在ontouchevent上編寫了一個簡單的代碼。

class MyTouchListener implements View.OnTouchListener{

        @Override
        public boolean onTouch(View v, MotionEvent event) {
            // TODO Auto-generated method stub

            if(event.getAction()==MotionEvent.ACTION_DOWN)
            {    Log.i(TAG, "^^^^^^^^^^^ACTION DOWN^^^^^^^^^^^^");
            }

            else if(event.getAction()==MotionEvent.ACTION_UP)
            {
                 Log.i(TAG, "^^^^^^^^^^^ACTION UP^^^^^^^^^^^^");
            }
}

當我按下屏幕時它會打印^^^^^動作向下^^^^^^但是當我釋放屏幕時它不會打印^^^^^^^動作向上^^^^^^^ ....

表示MotionEvent.ACTION_UP失敗。為什么會這樣?

嘗試使用MotionEvent.ACTION_CANCEL

 @Override
    public boolean onTouch(final View view, final MotionEvent motionEvent) {

        if (motionEvent.getAction() == MotionEvent.ACTION_DOWN) {
                setColorFilter(Color.argb(155, 185, 185, 185));
        }
        else if (motionEvent.getAction() == MotionEvent.ACTION_UP || motionEvent.getAction() == MotionEvent.ACTION_CANCEL) {
                setColorFilter(Color.argb(0, 185, 185, 185));

        }
        return false;
    }

或在ontouch方法Log.d(“ tag”,“ motionEvent =” + motionEvent);中添加日志。

動作動作應該發生一次之后,ACTION_DOWN就會發生一次,並且在and動作向上...

但是有一個問題,例如,如果您有一個48dip x 48dip的可觸摸區域,並且如果您觸摸該區域並將手指移開(拖動時),我的意思是您按了並且將手指從該可觸摸區域拖開而不是向上移動不會發生 !!!

僅當您精簡屏幕但仍在可觸摸區域時,才會采取行動。 我希望你能理解我的意思。

如果您希望鼠標向上觸摸以觸摸可觸摸區域,而不會將手指拖離屏幕並使手指離開屏幕,則您知道就像點擊一樣,就會發生向上事件

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM