追风赶月莫停留,平芜尽处是春山。这篇文章主要讲述Android - OnTouchListener如果已按下屏幕则不会触发相关的知识,希望能为你提供帮助。
我有一个RelativeLayout,里面有一个ImageView。 ImageView上附有一个OnTouchListener,只要按下ImageView,它就可以正常工作。我遇到的问题是,如果我按住ImageView外的空白区域,然后尝试按下ImageView,触摸监听器就不会触发。似乎布局以某种方式吸收触摸事件。关于如何解决这个问题的任何想法?
答案【Android - OnTouchListener如果已按下屏幕则不会触发】你在这里定义的行动是Multi-touch gesture
。通过this doc了解如何处理此类操作。
另请参阅ACTION_POINTER_DOWN中的MotionEvent
动作定义。这是当额外的手指下降时将被调用的事件。
另一答案你好用这个代码:
imageView.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {switch (event.getAction()){case MotionEvent.ACTION_DOWN:
//your code
break;
case MotionEvent.ACTION_UP:
//your code
break;
case MotionEvent.ACTION_MOVE:
//your code
break;
default:
//your code
break;
}return true;
}
});
推荐阅读
- 添加对Yeoman Webapp生成器的支持较少
- 如何从android中重定向url加载图像
- Android(无法从mysql数据库中检索图像URL并将其显示在imageView中)
- ImageView在android中不起作用
- 如何在android中使用SwipeRefreshLayout和imageView进入NestedScrollView
- 移动ImageView(Android)[重复]
- 带有setAdjustViewBounds的Android ImageView在ConstraintLayout中具有无法解释的行为
- 在android [copy]中没有设置从相机到imageview的图像
- 5+ Web项目的最佳免费jQuery和JavaScript动态甘特图