Android MotionEvent.Action\u UP失败
我正在ontouchevent上编写一个简单的代码..代码是Android MotionEvent.Action\u UP失败,android,Android,我正在ontouchevent上编写一个简单的代码..代码是 class MyTouchListener implements View.OnTouchListener{ @Override public boolean onTouch(View v, MotionEvent event) { // TODO Auto-generated method stub if(event.getAction()==Mot
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\u UP失败..为什么会这样呢?好的,ACTION\u DOWN只在该ACTION move发生之后发生一次,并且在和ACTION UP中 但有一个问题,例如,如果你有一个48dip x 48dip的可触摸区域,如果你触摸该区域并将手指移开(拖动时),我的意思是你按下并将手指从可触摸区域拖开,那么动作就不会发生 只有当您在屏幕上使用微调器但仍处于可触摸区域时,才会发生动作。我希望你能理解我想说的话
如果您希望鼠标移动到可触摸区域,不要将手指拖离屏幕,您知道,就像录制一样,向上事件将发生。好的,动作\u向下只发生一次,在该动作发生后,在和向上动作中 但有一个问题,例如,如果你有一个48dip x 48dip的可触摸区域,如果你触摸该区域并将手指移开(拖动时),我的意思是你按下并将手指从可触摸区域拖开,那么动作就不会发生 只有当您在屏幕上使用微调器但仍处于可触摸区域时,才会发生动作。我希望你能理解我想说的话
如果您希望鼠标移动到可触摸区域,不要将手指拖离屏幕,您知道,就像录制一样,移动事件将发生。尝试使用MotionEvent。操作\u取消
@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”) 尝试使用MotionEvent.ACTION\u取消
@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”) 从onTouch()方法返回什么值?如果您返回false-意味着侦听器将不再接收任何事件,那么您应该返回true。您从onTouch()方法返回什么值?如果您返回false-意味着侦听器将不再接收任何事件,因此您应该返回true。为我工作,谢谢。如果你按下一个按钮,然后屏幕旋转开始,你会得到一个取消。为我工作,谢谢。如果你按下一个按钮,然后屏幕旋转开始,你会得到一个取消。