ViewPager中的TextView拦截触摸事件

tac*_*oth 14 android view textview android-viewpager

我有一个ViewPager包含两个片段.在我可以触摸某个地方的任何片段中,滑动以切换到另一个fragment.其中一个片段包含一个列表.列表中的项目包含一个TextView和一个ImageView.问题是,如果您从点击开始拖动ImageView,那就没关系.但是,如果它来自于TextView,那么阻力从未被人知道ViewPager,因此"平滑切换"永远不会发生.

这有什么线索吗?

编辑

这张照片是为了展示我的GUI.如果已从TextViewE启动拖动,则不会开始拖动. 在此输入图像描述

pec*_*nie 38

这件事也困扰了我,但我找到了答案.

基本上,情况是:如果视图可以水平滚动,它会截取水平运动事件,ViewPager不再能够处理它.

由于API Level 14 TextViews具有android:scrollHorizo​​ntally属性(和setHorizo​​ntallyScrolling(boolean)方法),如果设置为true,则会导致TextView拦截水平滚动运动事件.

您可以在XML中或在代码中将其设置为false,但要注意:android:singleLine属性强制android:scrollHorizo​​ntally设置为true!非常棘手的一点!但幸运的是,您通常可以使用android:maxLines ="1"和必要的ellipsize值安全地替换单行属性.

祝好运!