向后滚动时 Viewpager2 滚动停止工作

Viewpager2 scroll stops working when scrolling back

我遇到了一个奇怪的问题,我有一个 Viewpager2,片段页面包含一个 Scrollview、Horizo​​ntalScrollView 和一个 RecyclerView。

当我启动承载 ViewPager 的片段时,UI 工作,如果我向右滑动它也可以工作,但是一旦我向左滑动到上一页,触摸就停止工作,我失去了能力在页面上上下滑动。

我觉得在这里迷路了,它与旧的 ViewPager 一起工作得很好

ViewPager片段页面

<ScrollView
    android:isScrollContainer="true"
    android:measureAllChildren="true"
    android:background="?backgroundColor"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">
    
    <androidx.constraintlayout.widget.ConstraintLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
        ...
    </androidx.constraintlayout.widget.ConstraintLayout>
 <ScrollView/>

ViewPager

<androidx.viewpager2.widget.ViewPager2
        android:orientation="horizontal"
        android:id="@+id/pager"
        android:layout_width="0dp"
        android:layout_height="0dp"
        ...
        />

我通过更新 ViewPager 的 PageTransformer 解决了这个问题。

我在我的 PageTransformer 上扩展了 ViewPager2.PageTransformer,认为旧的转换器可以正常工作。

看起来情况并非如此,旧版本缺少 translationZ 看起来没有设置 translationZ 会导致此行为。