android-使用嵌套的viewpagers将触摸事件委托给父级
作者:互联网
我有一个带有嵌套Viewpagers的应用程序.顶级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;
}
}
但是,仅当内部ViewPager位于其边缘之一上时,才委派touch事件.
因此,如果ViewPager位于左侧,则可以向左滑动父级寻呼机,如果内部寻呼机位于右侧,则可以向右滑动父级寻呼机.在任何其他情况下,触摸事件只是被消耗,不会移动父级事件.
如何实现将触摸事件始终委派给父viewpager?
提前致谢,
麦克法兰
解决方法:
我知道这很旧,但是我找到了解决方案.这比我预期的要简单.
public class NonSwipeableViewPager extends ViewPager {
public NonSwipeableViewPager(Context context, AttributeSet attrs) {
super(context, attrs);
}
@Override
public boolean canScrollHorizontally(int direction) {
return false;
}
}
标签:android-viewpager,touch,android 来源: https://codeday.me/bug/20191121/2053917.html