您的位置:首页 > 其它

安卓——问题:控件(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" />
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐