我需要处理当用户通过单击按钮将手指从按钮上拉出,但没有松开它时的操作。我尝试使用OnTouchListener,但据我所知,它只处理手指的移动或按钮的释放。
发布于 2018-12-18 02:39:59
它还存在于OnTouchListener
中:
view.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
if(event.getAction() == MotionEvent.ACTION_MOVE) {
Rect r = new Rect(0, 0, view.getWidth(), view.getHeight());
if (!r.contains((int)event.getX(), (int)event.getY()))
// your action
return true;
}
return false;
}
});
发布于 2018-12-18 02:41:21
@Override
public boolean onTouchEvent(MotionEvent event) {
int action = event.getActionMasked();
switch (action) {
case MotionEvent.ACTION_DOWN:
Log.d(TAG, "Action was DOWN");
break;
case MotionEvent.ACTION_MOVE:
Log.d(TAG, "Action was MOVE");
break;
case MotionEvent.ACTION_UP:
Log.d(TAG, "Action was UP");
break;
case MotionEvent.ACTION_CANCEL:
Log.d(TAG,"Action was CANCEL");
break;
case MotionEvent.ACTION_OUTSIDE:
Log.d(TAG, "Movement occurred outside bounds of current screen element");
break;
}
return super.onTouchEvent(event);
}
希望这段代码能帮到你。
https://stackoverflow.com/questions/53821059
复制相似问题