ccp*_*zza 10 android ontouchlistener swipe-gesture android-viewpager2
当触摸事件来自嵌套视图(例如 HorizontalScrollView 等)时,如何防止在androidx ViewPager2 中滑动?
我希望通过覆盖可以实现这一点,ViewPager2.onInterceptTouchEvent()但是由于 ViewPager2final不能被子类化。
现有的解决方案(见下表)处理与旧ViewPager它可以被继承。
正如我尝试过的其中一个答案中所建议的那样:
private ViewPager2 viewPager2;
...
HorizontalScrollView nestedScrollView = pagerView.findViewById(R.id.scrollview);
nestedScrollView.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
viewPager2.requestDisallowInterceptTouchEvent(true);
return false;
}
});
// nestedScrollView - the HorizontalScrollView inside a ViewPager2 item
// viewPager2 - the ViewPager2 instance
Run Code Online (Sandbox Code Playgroud)
但这似乎没有任何效果。
ViewPager2 具有从 ViewGroup 继承的onInterceptTouchEvent()但我没有看到在最终类上覆盖它的方法。
重新实现整个 ViewPager2 似乎不是一个明智的解决方案——原始类有 1607 行长,而且它使用的类不是由包导出的。
我看过的其他类似问题:
| 归档时间: |
|
| 查看次数: |
1752 次 |
| 最近记录: |