Синхронизированное смещение AppBarLayout в ViewPager - PullRequest
0 голосов
/ 04 апреля 2019

Родительский фрагмент XML:

 <androidx.coordinatorlayout.widget.CoordinatorLayout 
    ....
      <androidx.viewpager.widget.ViewPager
            android:id="@+id/viewPager"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            app:layout_behavior="@string/appbar_scrolling_view_behavior" />

</androidx.coordinatorlayout.widget.CoordinatorLayout>

Детские фрагменты XML:

<?xml version="1.0" encoding="utf-8"?>
<androidx.coordinatorlayout.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:id="@+id/root_view"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <com.google.android.material.appbar.AppBarLayout
        android:id="@id/appBarLayout"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginLeft="-10dp"
        android:layout_marginRight="-10dp"
        android:background="@color/transparent"
        app:layout_scrollFlags="scroll">

        <androidx.constraintlayout.widget.ConstraintLayout
            android:layout_width="match_parent"
            android:layout_height="140dp"
            app:layout_collapseMode="parallax"
            app:layout_scrollFlags="scroll">

        </androidx.constraintlayout.widget.ConstraintLayout>

        <include layout="@layout/tablayout" />

    </com.google.android.material.appbar.AppBarLayout>

    <androidx.viewpager.widget.ViewPager
        android:id="@+id/viewPager"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="@color/backgroundEmpty"
        app:layout_behavior="@string/appbar_scrolling_view_behavior" />

</androidx.coordinatorlayout.widget.CoordinatorLayout>

Итак, как это выглядит, ViewPager с каждым фрагментом, имеющим AppBarLayout, который прокручивает содержимое. Однако я пытаюсь добиться, чтобы все AppBarLayouts во всех фрагментах имели одинаковое смещение.

Однако нет прямого способа изменить смещение AppBarLayout. offsetTopAndBottom не работает. Я также попробовал scrollTo, который также не работает.

...