上部に ToolBar、その下に TabLayout、TabLayout からタブを切り替える ViewPager を備えた従来のレイアウトがあります。ViewPager のコンテンツがスクロール可能である場合、ToolBar は見えないようにスクロールし、TabLayout はそれに従い、最上部に達したときに固定する必要があります。
ViewPager のコンテンツのサイズに関係なく、ToolBar が常にスクロール可能であることを除いて、これは現在のコードではすべて問題ありません。以下の私のコードを参照してください。これを修正する方法についての素晴らしいアイデアはありますか?
<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<android.support.design.widget.AppBarLayout
android:id="@+id/app_bar_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/primary"
android:orientation="vertical">
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/AppTheme.ToolBar"
app:layout_scrollFlags="scroll|enterAlways" />
<android.support.design.widget.TabLayout
android:id="@+id/tabs"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="?attr/colorPrimary"
android:scrollbars="horizontal"
app:tabIndicatorColor="@color/black_text" />
</android.support.design.widget.AppBarLayout>
<android.support.v4.view.ViewPager
android:id="@+id/tabs_activity_view_pager"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_behavior="@string/appbar_scrolling_view_behavior" />
</android.support.design.widget.CoordinatorLayout>
編集:
viewPager の高さがルート ビュー全体の高さと同じであることがわかります。appbar_scrolling_view_behavior が上下のオフセットを追加しているように見えるため、これは意図的である可能性があります。ただし、ツールバーとタブバーを常にスクロールすることになるため、奇妙に思えます。