gpt4 book ai didi

java - onInterceptTouchEvent 只获取 ACTION_DOWN

转载 作者:IT老高 更新时间:2023-10-28 21:17:55 31 4
gpt4 key购买 nike

为什么ViewGrouponInterceptTouchEvent只得到ACTION_DOWN?根据文档,只要返回 false,它就应该接收所有事件类型。 http://developer.android.com/reference/android/view/ViewGroup.html#onInterceptTouchEvent%28android.view.MotionEvent%29第 3 点。

示例代码:

public class MainActivity extends Activity {

private static final String TAG = MainActivity.class.getSimpleName();

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(new Container(this));
}

private class Container extends LinearLayout {

public Container(Context context) {
super(context);
setBackgroundColor(0xFF0000FF);
}

@Override
public boolean onInterceptTouchEvent(MotionEvent ev) {
Log.i(TAG, "onInterceptTouchEvent");
int action = ev.getActionMasked();
switch (action) {
case MotionEvent.ACTION_DOWN:
Log.i(TAG, "onInterceptTouchEvent.ACTION_DOWN");
break;
case MotionEvent.ACTION_MOVE:
Log.i(TAG, "onInterceptTouchEvent.ACTION_MOVE");
break;
case MotionEvent.ACTION_CANCEL:
case MotionEvent.ACTION_UP:
Log.i(TAG, "onInterceptTouchEvent.ACTION_UP");
break;
}
return super.onInterceptTouchEvent(ev);
}
}
}

最佳答案

我会回答我自己的问题:onInterceptTouchEvent 仅在父级具有从 onTouchEvent 返回“true”的 subview 时才会被调用。一旦 child 返回 true, parent 现在就有机会拦截该事件。

enter image description here

关于java - onInterceptTouchEvent 只获取 ACTION_DOWN,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13283827/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com