차근차근/Android

Action_up안될 때

예쁜꽃이피었으면 2014. 10. 17. 15:41

http://wowmymwow.tistory.com/entry/OnTouch-Actionup


 Action_down  은 잘 먹는데 Action_up 이 안 먹을 때 있다. 

그 이유는....


return 때문에 그런다. 

return false;  로 하면 action_up 이 안된다. 하지만 down은 잘된다.

return true; 로 하면 up도 잘 될 것이다. 

그 이유를 생각해보자면 return false 를 하면 더 이상 touch 이벤트를 찾지를 않는다. 그래서 이벤트가 down까지만 찾고 리턴을 하고 만다. 하지만 return true; 를 하면 이벤트를 up까지도 찾는다. 

return 이 ture, false 이냐를 잘 판단하는게 좋을 것 이다. 

public boolean onTouchEvent(MotionEvent event)
    {
        int action = event.getAction();
        Log.i("TEST","action="+action);
        if(action == MotionEvent.ACTION_DOWN)
        {
            mBgColor=Color.parseColor(getResources().getString(R.color.black));
            invalidate();
            Log.i("TEST","down childview");
            
        }
        else if(action == MotionEvent.ACTION_UP)
        {
            mBgColor=Color.parseColor(getResources().getString(R.color.white));
            invalidate();
            Log.i("TEST","up childview");
        }
        return true;
    }


반응형