乒乓球世界杯_世界杯结束时间 - 0123838.com
首页中国对巴西世界杯正文

这个类型是 final 的,所以无法继承 - ViewPager2。

2025-12-08 02:59:32

NestedScrollableHost类正好符合您的要求:https://github.com/android/views-widgets-samples/blob/master/ViewPager2/app/src/main/java/androidx/viewpager2/integration/testapp/NestedScrollableHost.kt

基本思路是,您需要重写onInterceptTouchEvent方法,并请求NestedScrollableHost的父级(在这种情况下为ViewPager2)通过requestDisallowInterceptTouchEvent方法来禁止拦截触摸事件。

// Pseudo-code for NestedScrollableHost

@Override

public boolean onInterceptTouchEvent(MotionEvent event) {

handleInterceptTouchEvent(event);

return super.onInterceptTouchEvent(event);

}

private void handleInterceptTouchEvent(MotionEvent event) {

// Early return if parent viewpager is null or child can't scroll in same direction as parent

if (getParentViewPager() == null ||

(!canChildScrollVertically(-1f) && !canChildScrollVertically(1f))) {

return;

}

switch (event.getAction()) {

// You can tailor your class to handle the event in the way you want to,

// e.g. do something on down and move events:

case MotionEvent.ACTION_DOWN:

// Disallow the parent (and all subsequent parents) to intercept touch events.

getParent().requestDisallowInterceptTouchEvent(disallow);

case MotionEvent.ACTION_MOVE:

// Some other logic.

}

}

您需要在 XML 中将 NestedScrollableHost 放置在您的 ViewPager2 和(在您的情况下)SeekBarPreference 之间。

到手揭秘thinkpad x1系列比较哪款好?有差别吗?透过消费者心声看质量 酷派大观 50s 手机开售:天玑 700 + 8G + 128G 售 699 元
相关内容