概要
マテリアル デザインで説明されているScrolling Techniquesの 1 つ、Flexible space with overload contentを実装しようとしています。
コンテンツが重複する柔軟なスペース
コンテンツはアプリ バーに重ねることができます。
行動:
アプリ バーの開始位置は、コンテンツの後ろに配置する必要があります。上にスクロールすると、アプリ バーは、コンテンツがオーバーラップしなくなるまで、コンテンツよりも速くスクロールする必要があります。所定の位置に固定されると、アプリ バーが持ち上がり、コンテンツを下にスクロールできるようになります。
問題
ただし、問題は、AppBar のタイトルが展開されると下にスクロールし、重なっているコンテンツの下に隠れることです。
ここでは、重なっている CardView の下にツールバーが隠されています。
アプリバーが折りたたまれると、ツールバーとタイトルが下から上にスライドします。
コード
これが私のコードです:
活動-main.xml
<android.support.design.widget.CoordinatorLayout
...
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.design.widget.AppBarLayout
android:layout_width="match_parent"
android:layout_height="200dp"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">
<android.support.design.widget.CollapsingToolbarLayout
...
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_scrollFlags="scroll|exitUntilCollapsed">
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:layout_gravity="top"
android:background="?attr/colorPrimary"
app:layout_collapseMode="pin"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" />
</android.support.design.widget.CollapsingToolbarLayout>
</android.support.design.widget.AppBarLayout>
<android.support.v4.widget.NestedScrollView
android:layout_width="match_parent"
android:layout_height="match_parent"
...
MainActivity の onCreate 関数にもこれらを追加しました
setSupportActionBar(toolbar);
collapsingToolbarLayout.setTitle("App Name");
アプリバーが展開または折りたたまれているかどうかに関係なく、ツールバー (後で追加するタイルとその他のコンテンツを含む) を一番上に表示したいと考えています。
ドキュメントを読み、多くの投稿やチュートリアルを読み、多くのビデオを見ましたが、実際の解決策や関連する解決策をまったく見つけることができませんでした。
これを修正する方法について誰かがアイデアを持っている場合は、提案してください。助けてくれてありがとう。