1.app:layout_scrollFlags属性の紹介
以前にAppBarLayoutとCollapsingToolbarLayoutの使用法を紹介したとき、app:layout_scrollFlagsプロパティが使用されました。実際、このスクロールフラグ属性は、AppBarLayoutから取得されます。これは、最初にロールするか戻すか、途中でロールするかすべてをロールするか、自動または手動でロールするかなど、下位レベルのコントロールの特定のスクロール動作を定義するために使用されます。など。
2.さまざまなスクロール動作のシナリオ
- AppBarLayoutのスクロールは、ページ本文のスクロールに依存します。ページ本文に対応して、AppBarLayoutはページヘッダーと呼ぶことができます。ページはヘッドと本体の2つの部分に分かれているため、誰が最初にロールバックするか、誰がロールバックするかという問題があります。
- AppBarLayout内の高さも変更される可能性があります。たとえば、CollapsingToolbarLayoutをネストします。AppBarLayoutの高さが変わるため、半分をロールするか、すべてをロールするかを区別する必要があります。
- AppBarLayoutはしばらくの間引っ張られており、まだ引っ張られていません。この時点で、指を離すと、通常は所定の位置で停止します。しかし、ブレーキが途中で見苦しいので、停止し続けるか、上向きに縮み続けるか、下向きに拡大し続けるかを判断する必要があります。
3.5つのスクロールサインの紹介
- スクロール:この記号は、頭と本体が一緒にスクロールすることを示します。
- enterAlways:この記号は、頭と本体が最初に一緒に回転することを示します。頭が所定の位置に回転した後、本体は上下に回転し続けます。
- exitUntilCollapsed:この記号は、少なくとも最小化されたツールバーがページに表示され、ツールバーが完全に非表示にならないようにします。特定のスクロール動作は、上にスクロールすることと下にスクロールすることの2つのタイプに分けられます。上にスクロールすると、頭が最初に縮小して最小の折り畳み高さまで回転します。次に、頭が固定され、本体が上にスクロールし続けます。下にスクロールします。ヘッドが固定され、本体が完全に引き出されるまで本体が最初にロールダウンし、次にヘッドが下に伸びることを意味します。
- enterAlwaysCollapsed:このフラグは通常、enterAlwaysと一緒に使用されます。enterAlwaysとenterAlwaysの違いは、単一のenterAlwaysが折りたたまれていないのに、折り畳み操作があることです。特定のスクロール動作も2つのタイプに分けられます:上にスクロールすることと下にスクロールすることです。ロールアップとは、頭が最初に上に縮んで最小の折り畳み高さまで転がることを意味します。次に、頭と本体が一緒に転がり、頭が転がった後に場所、本体上昇し続けます。また、下にスクロールすると、頭と本体が最初に一緒に回転し、頭の最小の高さが折りたたまれます。次に本体が下に回転し、所定の位置に回転した後も頭が展開し続けます。
- スナップ:ユーザーの指を離すと、システムはすべてを上にスクロールするか、すべてを下に展開するかを独自に判断します。
4.5スクロールサインの違い
スクロールフラグ値 | 説明 |
スクロール | シンプルでわかりやすいスクロール、トリッキーなことは何もありません |
enterAlways | このロゴとスクロールの違いは、頭が本体を覆うことができるのに対し、スクロールは覆わないことです。 |
exitUntilCollapsed | このフラグを設定すると、ページに常にツールバーが表示されます |
enterAlwaysCollapsed | このフラグとenterAlwaysの違いは、layout_collapseModeによって設定された折りたたみ効果をサポートしていることです。 |
スナップ | このフラグを設定した後、ユーザーがジェスチャを離すたびに、システムは自動的に上に縮小するか下に拡大するかを決定します |