McF*_*ane 3 android touch android-viewpager
我有一个带有嵌套视图页面的应用程序。顶级视图分页器是选项卡布局的 ViewGroup,子分页器仅滑动一些图像。
我想要实现的是内部 ViewPager 确实将触摸事件完全委托给父 ViewPager。我只想用按钮滚动它的内容。
为此,我为内部 ViewPagers 创建了一个子类:
public class NonTouchViewPager extends ViewPager {
public NonTouchViewPager(Context context) {
super(context);
}
public NonTouchViewPager(Context context, AttributeSet attrs) {
super(context, attrs);
}
@Override
public boolean onInterceptTouchEvent(MotionEvent ev) {
return false;
}
@Override
public boolean onTouchEvent(MotionEvent ev) {
return false;
}
}
Run Code Online (Sandbox Code Playgroud)
但如果内部 ViewPager 位于其边缘之一,它只会委托触摸事件。因此,如果 ViewPager 在左侧,我可以将父寻呼机向左滑动,如果内部寻呼机在右侧,我可以将父寻呼机向右滑动。在任何其他情况下,触摸事件仅被消耗并且不会移动父级。
如何才能实现触摸事件始终委托给父视图分页器?
提前致谢,麦克法兰
我知道这已经过时了,但我找到了解决方案。这比我想象的要简单得多。
public class NonSwipeableViewPager extends ViewPager {
public NonSwipeableViewPager(Context context, AttributeSet attrs) {
super(context, attrs);
}
@Override
public boolean canScrollHorizontally(int direction) {
return false;
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
896 次 |
| 最近记录: |