jjzjj

dispatchTouchEvent

全部标签

android - 如何通过在抽屉外触摸来防止关闭抽屉导航

我有一个带抽屉导航的Activity。如果用户设备是table并且方向是横向-我不需要通过单击抽屉中的项目来关闭抽屉:if(!isTablet||context.getResources().getConfiguration().orientation==1){mDrawerLayout.closeDrawer(Gravity.START);}它起作用了。但是如果用户触摸打开的抽屉外面的屏幕-抽屉关闭。使用DrawerLayout.LOCK_MODE_LOCKED_OPEN是不合适的,因为我需要保存抽屉滑动功能。当用户触摸抽屉外部时,如何防止关闭抽屉导航?请帮忙。

android - Android 中 ScrollView 中的 MotionEvent 处理

我一直在尝试找出Android中ScrollViews中MotionEvents的行为,但有些事情我无法弄清楚。例如,我创建了一个Activity,其中有一个ScrollView,而ScrollView有一个LinearLayout。我实现了自己的类来控制与触摸相关的功能:publicclassMainActivityextendsActivity{@OverridepublicvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.activit

android - ArrayAdapter 和 ListView - ArrayIndexOutOfBoundsException

我真的希望有人能帮我解决这个问题。我一直坚持下去。有时,当有人使用我的应用程序时,它会强制关闭并出现以下异常:java.lang.ArrayIndexOutOfBoundsExceptionatandroid.widget.AbsListView$RecycleBin.addScrapView(AbsListView.java:3572)atandroid.widget.AbsListView.trackMotionScroll(AbsListView.java:2487)atandroid.widget.AbsListView.onTouchEvent(AbsListView.jav

android dispatchTouchEvent 获取点击 View

我在我的Activity中调用这个函数:@OverridepublicbooleandispatchTouchEvent(MotionEventtouchEvent)这让我可以在任何组件获得焦点之前处理操作,甚至拒绝对这些元素的焦点。问题:我想知道我怎么知道这个函数中触及了哪个组件(View),然后我可以选择是否要使用该事件。丑陋的解决方案:我目前有一个丑陋的解决方案:我知道允许获取事件的组件的位置,并且我做了很多条件来大致决定是否用户点击了这个组件。谢谢。 最佳答案 您可能想使用OnTouchListenerprivateOnTo

android - 在重叠 View 的情况下控制触摸事件传播

我在尝试控制RecycleView中的触摸事件传播时遇到了一些问题。所以我有一个RecyclerView填充一组模仿卡片堆的CardView(因此它们以一定的位移相互重叠,尽管它们具有不同的高程值)。我目前的问题是每张卡片都有一个按钮,并且由于卡片的相对位移小于按钮的高度,因此会导致按钮重叠的情况,并且无论何时调度触摸事件,它都会从View层次结构的底部开始传播(来自子级child数量最多)。根据我阅读的文章(this、this和thisvideo),触摸传播取决于父View中View的顺序,因此触摸将首先传递给索引最高的child,而我希望触摸事件仅由最顶层View和Recycler

android - 同步ViewPager中的所有ListView

在我的应用程序中,我有一个ViewPager,每个ViewPager中都有一个自定义ListView,它像表中的行一样链接在一起。问题是当我在第一页滚动ListView然后滚动ViewPager时,第一页的ListView和第二页的ListView未对齐。listView必须对齐,因为在第一个中我有一个带有描述的TextView,然后是4个带有数据的列,而在下一个ListViews中有6个没有描述的列,所以如果它们未对齐会非常复杂。那么我怎样才能一次滚动所有的listViews呢??编辑:非常感谢RahulParsani...我终于设法做到了...如果您在单独的fragment中有li

android - 如何检测抽屉导航外的触摸事件

我已经在我的应用程序中实现了Android抽屉导航。当用户触摸抽屉导航的外侧时,我可以打开/关闭抽屉。当用户触摸/点击抽屉导航时,你们中的任何人都可以帮助我检测触摸/点击事件吗?我需要在那个事件中执行一些功能。请检查随附的屏幕截图。如有任何帮助,我们将不胜感激。 最佳答案 您必须在dispatchTouchEvent()方法中处理触摸位置。查看有关触摸层次结构的更多信息here@OverridepublicbooleandispatchTouchEvent(MotionEventevent){if(event.getAction()

android - 查看开关 : how to block user interaction in-between?

我使用View切换器以类似于任务中标准Activity切换的方式在View之间切换。例如,切换器中的当前View可能有一个按钮,单击该按钮会启动View切换:现在已过时的当前View滑出,并由滑入的新当前View替换。动画开关只适用于一件事:我找不到告诉滑出View停止处理用户事件(如触摸事件)的正确方法。所以发生的情况是,如果完成得足够快,而且不必那么快,用户可以多次单击启动View切换的按钮,这很糟糕。单击(或任何用户操作)启动View切换后,我想使滑出View上的所有其他用户事件无效并忽略。是否有一种干净、标准的方法来做到这一点?我已经在滑出View上尝试了setEnabled(

Android 注入(inject)触摸事件

我知道这是一个有点重复的问题。我在SO和其他几个网站上查看了各种问题,但找不到满足我需要的单一答案。要求1)我有X,Y坐标,我想创建MotionEvent并将其分派(dispatch)到最顶层的Activity/View。2)我必须将它注入(inject)到我自己的应用程序中。因此,不需要Inject_Events权限。3)虽然我有坐标,但我不知道那个位置的Activity或View。所以Activity.dispatchTouchEvent对我不起作用。。(view.dispatchTouchEvent可以工作,但我不知道View)。4)Instrumentation也无济于事,因为

android - Android fragment 中的 dispatchTouchEvent

我正在尝试在Fragment中使用向上滑动和向下滑动手势。同样适用于Activity。在Fragment中,我对dispatchTouchEvent有疑问。如何在Fragment中使用dispatchTouchEvent?是否有等效的方法来实现这一点?@OverridepublicbooleandispatchTouchEvent(MotionEventme){this.detector.onTouchEvent(me);returnsuper.dispatchTouchEvent(me);} 最佳答案 fragment附加到Act