Ответ 1
Вам нужно добавить app:layout_behavior="@string/appbar_scrolling_view_behavior"
в ViewPager
: это то, что высота представления будет ниже AppBarLayout
, а не полной высоты match_parent
.
Я использую новый TabLayout, представленный в библиотеке поддержки дизайна. У меня такой код:
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_height="match_parent"
android:layout_width="match_parent">
<android.support.design.widget.CoordinatorLayout
android:id="@+id/lines_coordinator"
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.design.widget.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">
<android.support.design.widget.TabLayout
android:id="@+id/tabs"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:elevation="4dp"/>
</android.support.design.widget.AppBarLayout>
<android.support.v4.view.ViewPager
android:id="@+id/viewpager"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</android.support.design.widget.CoordinatorLayout>
</LinearLayout>
Проблема заключается в том, что вкладки перекрывают верхнюю часть содержимого, отображаемое фрагментами. Как я могу это исправить? Я использую TabLayout, как в примерах в Github, поэтому я считаю, что с моим кодом нет проблем. У меня уже есть панель инструментов, потому что я использую вкладки в фрагменте в навигационном ящике, поэтому я удалил его из AppBarLayout.
Вам нужно добавить app:layout_behavior="@string/appbar_scrolling_view_behavior"
в ViewPager
: это то, что высота представления будет ниже AppBarLayout
, а не полной высоты match_parent
.