これはバグだと確信しているので、回避策を求めています。私のレイアウトは次のようなものです:
<CoordinatorLayout>
<AppBarLayout>
<CollapsingToolbarLayout>
<ImageView/>
<Toolbar/>
</CollapsingToolbarLayout>
</AppBarLayout>
<android.support.v4.widget.NestedScrollView/> <!-- content here -->
</CoordinatorLayout>
Web からコンテンツを取得していますが、その高さがどれくらいになるかわかりません。行数が少ない場合もあれば、非常に長い場合もあります。ただし、CollapsingToolbar
コンテンツが画面全体をカバーするほど大きくない場合、うまく機能しないことがわかりました。ケース:
content.height > screen.height
: 動作します; 上下にスワイプすると、ツールバーが展開および折りたたまれ、コンテンツがスクロールされます。content.height < screen.height
:しません。ほとんどの場合、それは良くありません(content.height + expandedToolbar.height) > screen.height
。
つまり、コンテンツの高さが十分でない場合、 content+expandedToolbar が画面全体よりもはるかに高かったとしても、スクロール ジェスチャに反応せず、いくつかのバグが表示されます。ツールバーを少し折りたたむのに 10 回のジェスチャが必要になる場合があります。そのため、ツールバーが展開されているために下部に隠れているコンテンツの下部にほとんど到達できません。
回避策はありますか?
試してみたい場合は、チーズスクエアNestedScrollView
サンプル プロジェクトを取得して、activity_detail.xml [API17 はこちら]内のコンテンツを削除 (または縮小) します。