安卓——问题:控件(view)的OnTouch事件只能获取到ACTION_DOWN事件,UP、MOVE等事件都无法获取到
2017-08-12 23:26
2461 查看
通常我们在处理控件(view)touch事件的时候,会发生获取不到ACTION_DOWN事件的情况。
例如,运行以下代码后,在屏幕上无论如何点击、长按、滑动这个控件(view),logcat上只能看到 ACTION_DOWN 的输出
view.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
Log.e("","ACTION_DOWN");
break;
case MotionEvent.ACTION_MOVE:
Log.e("","ACTION_MOVE");
break;
case MotionEvent.ACTION_UP:
Log.e("","ACTION_UP");
break;
}
return false;
}
});
解决办法:
在目标控件(view)的布局中,添加属性:android:clickable="true"
<View
android:id="@+id/view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:clickable="true" />
例如,运行以下代码后,在屏幕上无论如何点击、长按、滑动这个控件(view),logcat上只能看到 ACTION_DOWN 的输出
view.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
Log.e("","ACTION_DOWN");
break;
case MotionEvent.ACTION_MOVE:
Log.e("","ACTION_MOVE");
break;
case MotionEvent.ACTION_UP:
Log.e("","ACTION_UP");
break;
}
return false;
}
});
解决办法:
在目标控件(view)的布局中,添加属性:android:clickable="true"
<View
android:id="@+id/view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:clickable="true" />
相关文章推荐
- 自定义View想使用Scroller实现滑动效果,但是事件接收出现问题,只收到ACTION_DOWN,而无法收到ACTION_MOVE, ACTION_UP等消息的处理
- Android 中View只能接收到ACTION_DOWN无法接收ACTION_MOVE和ACTION_UP解决办法
- 安卓关于自定义View只能接收ACTION_DOWN事件问题的解决
- OnTouch事件ACTION_DOWN,ACTION_MOVE,ACTION_UP的事件拦截
- android焦点分发无法获取到Down事件,却有Move和Up
- Android 中View仅仅能接收到ACTION_DOWN无法接收ACTION_MOVE和ACTION_UP解决的方法
- Android 自定义View可以监听ACTION_DOWN却监听不到ACTION_MOVE和ACTION_UP
- view的onTouch事件不响应MOVE,up的解决办法
- 开发笔记:解决安卓GestureOverlayView手势和ListView点击事件、文本框获取焦点冲突的问题
- view的onTouch事件不响应MOVE,up的解决办法
- Android 通过uinput模拟touch事件发出onActionDown onActionUp onActionMove
- android(仿QQ向右滑动退出)在viewpager中onTouchEvent无法监听到ACTION_DOWN的getX的值
- 安卓 ImageView ACTION_UP&DOWN监听
- 首先是点击事件在不同的布局层次中传递的。 理解Down事件再哪个层次被消费(拦截),后续的Move、Up的点击事件如何传递。 其中ViewGroup中onInterceptTouchEvent方法
- 如何解决OnTouch监听事件只监听到DOWN操作,没有监听到MOVE和UP操作
- android linearlayout OnTouch事件 只触发DOWN操作,不触发MOVE和UP操作?
- android之OnTouchListener只能监听到ACTION_DOWN-----onTouchListener的返回值问题
- Android 隐藏ViewPager之后,控件点击事件无法响应的问题
- 自定义view的onTouch事件不响应MOVE,up的解决办法
- View只能获得ACTION_DOWN消息, ACTION_MOVE消息接收不到