Прокрутка Viewpager2 перестает работать при прокрутке назад

Я столкнулся со странной проблемой: у меня есть Viewpager2, а страница фрагмента содержит Scrollview, HorizontalScrollView и RecyclerView.

Когда я запускаю фрагмент, на котором размещен ViewPager, пользовательский интерфейс работает, он также работает, если я смахиваю вправо, но как только я смахиваю влево до предыдущей страницы, сенсорный экран перестает работать, я теряю возможность смахивать вверх и вниз по странице.

Я чувствую себя потерянным здесь, он отлично работал со старым 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"
        ...
        />

person Tiago Oliveira    schedule 20.08.2020    source источник


Ответы (1)


Я исправил проблему, обновив ViewPager's PageTransformer.

Я расширил ViewPager2.PageTransformer на своем PageTransformer, думая, что старый преобразователь будет работать нормально.

Похоже, это не так, в старой версии не было translationZ похоже, что не установка translationZ вызывает такое поведение.

person Tiago Oliveira    schedule 20.08.2020