- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
为什么ViewGroup
的onInterceptTouchEvent
只得到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 现在就有机会拦截该事件。
关于java - onInterceptTouchEvent 只获取 ACTION_DOWN,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13283827/
我希望我的 ViewPager 仅在使用单指时滑动。所以我扩展了类并像这样实现了 onInterceptTouchEvent: @Override public boolean onIntercept
我有一个顶级 ViewGroup,我称之为 SliderView,我想在其中检测滑动。这主要是可行的,但仍然存在一个奇怪的故障。 SliderView 的本质是覆盖 onInterceptTouchE
在我的代码中,我使用预先确定的 XML 布局在我的 Activity 中生成 View 。我没有以编程方式创建它们,因此我找不到覆盖 onInterceptTouchEvent 方法的方法!有办法做到
抱歉,如果这含糊不清,但有人可以给我一个何时使用 onInterceptTouchEvent() 的例子吗? 我理解这个概念,在父 ViewGroup 中拦截 subview 触摸,但我为什么需要这样
我问这个相当复杂的问题,希望能从您那里得到一些想法。 事情是这样的:我创建了一个自定义 ListView 类,上面那个: public class FolderListView extends Lis
如何在 ListView 中实现自定义 onInterceptTouchEvent(),将滚动优先级分配给 ListView 的子级并尽快当他们滚动时,将其返回给 ListView ?我想优先考虑内部
我有一个覆盖了 onInterceptTouchEvent() 的自定义 ViewGroup。它收到 ACTION_DOWN 但从未收到 ACTION_MOVE。据我了解,除非它返回“true”,否则
为什么ViewGroup的onInterceptTouchEvent只得到ACTION_DOWN?根据文档,只要返回 false,它就应该接收所有事件类型。 http://developer.andr
我有一个带有 View 的 fragment ,其中包含一些可点击的元素(ToggleButtons 和一个 GridView)。 我在 View 上设置了一个 onTouchListener,我用它
我的布局看起来像这样: 我使用了一个包含 llMain 和 scroll 的 RelativeLayout。在 llMain 中,我有另外两个 LinearLayouts:ll1 和 ll2。每个 L
我希望能够在屏幕上的任意位置滑动来调用某个函数。但我在 Linear Layouts 中也有 Buttons,我希望能够点击它们。如果我在 Button 上滑动,我希望 onInterceptTouc
sdk 说: 3、For as long as you return false from this function, each following event (up to and includi
我确实扩展了 NestedScrollView 和 @Override 它的方法:onTouchEvent 和 onInterceptTouchEvent。问题是 super.onTouchEvent
我正在构建一个漫画/日本漫画应用程序,它有一个包含 viewpager 的 Activity 以显示每章中的图像。我希望 ViewPager 在用户在第一页/最后一页滑出边界时开始新的章节。为此,我通
Android中的onInterceptTouchEvent和dispatchTouchEvent有什么区别? 根据android开发者指南,这两种方法都可以用来拦截一个触摸事件(MotionEven
我一直在寻找,但我仍然没有找到任何东西。我试过了 View child = mirecycler.findChildViewUnder(e.getX(), and.getY()); 在我的例子中,它
日志从不记录ACTION_UP 或ACTION_MOVE(我从代码示例中删除以缩短) 这是我的代码的简化版本: public class ProfileBadgeView extends Linea
我有父 View v extends 线性布局。子项一是 LinearLayout,子项二是 ScrollView。 我想让 MyParent View 拦截垂直 MotionEvent.ACTION
我注意到该函数在 Action_down 之后没有中断,然后代码可以运行到 ACTION_MOVE,对吗? @Override public boolean onInterceptTouchEvent
我扩展了 ViewGroup 以创建自定义 View 。 在触摸事件中,当我的第二根手指触摸屏幕时,onInterceptTouchEvent 方法中未检测到 MotionEvent.ACTION_P
我是一名优秀的程序员,十分优秀!