[英]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.