Support Library 22.2になって導入された Design Support libraryに含まれる AppBarLayout他を試してみた。
Goolge Play等に見られる、コンテンツのスクロールに伴ってアクションバー(ツールバー)やタブが一緒にスクロールして消え、逆にスクロールするとコンテンツのスクロールより優先してアクションバーやタブスクロールして表示されるという奴が簡単に実装できる。*1
タブレットや 5インチを超えるような大型端末ではあまり感じないけど、自分のように 4インチ程度の端末を常用していると地味に便利。
試してみたら、拍子抜けするぐらいあっさり導入できたのでメモ。
基本的には AppBarLayoutを参考にしてレイアウトを組み*2 、NestedScrollViewの子供にスクロールさせるコンテンツを入れるだけ。
とりあえずテストとして ScrollViewとLinearLayoutで適当なビューを組んで見たけど期待通りに動いている。
サードパーティー製のライブラリを参照したときはコンテンツのビューによって小細工をする必要があるようだったけど、こいつは良きに計らってくれるっぽく。*3
週末にでも自作アプリに組み込んでみるか。
同じく Design Support libraryに含まれる android.support.design.widget.NavigationViewを使うとドロワーを出したときのメニュー周りを良きに計らってくれるのかな?
2015/05/30追記
ViewPagerに RecyclerViewを組み合わせて使うような場合でも CoordinatorLayout直下に layout_behaviorを設定した ViewPagerを配置するだけで良い感じに。
ただ、長いビューを ScrollViewでスクロールさせる形の場合は ScrollViewでなく NestedScrollViewを使う必要があった。