onInterceptTouchEvent
全部标签 我扩展了ViewGroup以创建自定义View。在触摸事件中,当我的第二根手指触摸屏幕时,onInterceptTouchEvent方法中未检测到MotionEvent.ACTION_POINTER_DOWN。onInterceptTouchEvent方法是否允许多点触控?我的真实设备是2.2手机。请帮忙。谢谢。 最佳答案 你可以这样做:publicbooleanonTouch(finalViewview,MotionEventevent){finalintaction=event.getAction();floatxPositio
如何在ListView中实现自定义onInterceptTouchEvent(),将滚动优先级分配给ListView的子级并尽快当他们滚动时,将其返回给ListView?我想优先考虑内部观点。 最佳答案 尝试像这样覆盖您的child的onInterceptTouchEvent():@OverridepublicbooleanonInterceptTouchEvent(MotionEventev){if(!isAtTop&&!isAtBottom){getParent().requestDisallowInterceptTouchEv
我希望我的ViewPager仅在使用单指时滑动。所以我扩展了类并像这样实现了onInterceptTouchEvent:@OverridepublicbooleanonInterceptTouchEvent(MotionEventev){if(ev.getPointerCount()>1){returnfalse;}returntrue;}但是无论屏幕上有多少个点,getPointerCount()总是返回“1”。当我重写onTouchEvent时,我得到了正确的数字,但是当我这样做时,一个错误阻止了传呼机的工作(http://code.google.com/p/android/iss
我使用SlidingDrawer作为我的主要布局。在内容区域内,我有一个fragment(其中包含一个ListView)当Activity首次加载时一切都很好,ListView正确滚动。当我开始一个不同的Activity然后回来时,我尝试的第一个滚动Action被SlidindDrawer拦截,然后打开或关闭它。只要您停止滚动并抬起手指,ListView就可以再次滚动。我希望ListView能够在Activity恢复时滚动。并且通常能够控制SlidingDrawer是否获得焦点。更新:我已经缩小了问题的范围。我已经扩展了SLidingDrawer以允许使用以下代码单击handle中的按
我注意到该函数在Action_down之后没有中断,然后代码可以运行到ACTION_MOVE,对吗?@OverridepublicbooleanonInterceptTouchEvent(MotionEventev){ensureTarget();finalintaction=MotionEventCompat.getActionMasked(ev);if(mReturningToStart&&action==MotionEvent.ACTION_DOWN){mReturningToStart=false;}if(!isEnabled()||mReturningToStart||can
我在我的应用程序中使用ViewPager,它包含图像的水平布局以实现分页画廊。当我单独测试View时,即作为Activity的主视图,它工作正常。但是,当我将其作为另一个布局的一部分时,滚动(或轻弹)变得很奇怪。如果似乎在滑动的一半左右重置到其原始位置(真正快速的轻弹是我到目前为止唯一能做的事情)。知道问题出在哪里吗?以防万一它有任何相关性,View从XML扩展并添加到PagerAdapter继承类中。 最佳答案 是的,ViewPager和其他滚动项在默认情况下不能很好地协同工作。当我必须做这样的事情时,我通常会子类化ViewPag
我有一个顶级ViewGroup,我称之为SliderView,我想在其中检测滑动。这主要是可行的,但仍然存在一个奇怪的故障。SliderView的本质是覆盖onInterceptTouchEvent,一旦用户实际滑动,返回“true”以防止其他View看到MotionEvent。这是一段代码:publicclassSliderViewextendsViewGroup{enumMoveState{MS_NONE,MS_HSCROLL,MS_VSCROLL};privateMoveStatemoveState=MoveState.MS_NONE;...othercode...publicb
我有一个覆盖了onInterceptTouchEvent()的自定义ViewGroup。它收到ACTION_DOWN但从未收到ACTION_MOVE。据我了解,除非它返回“true”,否则它应该接收所有MotionEvents。ViewGroup包含两个View,一个ImageView和一个GridLayout。我的拦截代码是:@OverridepublicbooleanonInterceptTouchEvent(MotionEventev){finalintaction=ev.getAction();switch(action&MotionEvent.ACTION_MASK){cas
在我的布局中,我有这样的结构:--RelativeLayout|--FrameLayout|--Button,EditText...我想在RelativeLayout和FrameLayout中处理触摸事件,所以我在这两个View组中设置了onTouchListener。但仅捕获RelativeLayout中的触摸。为了尝试解决这个问题,我编写了自己的CustomRelativeLayout,并覆盖了onInterceptTouchEvent,现在捕获了子ViewGroup(FrameLayout)中的点击,但按钮和其他View中的点击没有被捕获没有任何作用。在我自己的自定义布局中,我有
我希望能够在屏幕上的任意位置滑动来调用某个函数。但我在LinearLayouts中也有Buttons,我希望能够点击它们。如果我在Button上滑动,我希望onInterceptTouchEventIntercept调用Button的onTouchEvent并执行滑动操作。如果我只是点击一个Button,我不想调用onInterceptTouchEvent。相反,我希望调用Button的onTouchEvent并执行Buttonclick但是当我尝试实现onInterceptTouchEvent时出现错误。这是我的代码:publicclassGameextendsActivity{@O