ioschedのToolbar周りを見てみた
iosched 2018が公開されましたね!知見たっぷり🎉
Tooblar`周りをどうしようか悩んでいたので抜粋。
BottomNavigationViewを使ったときのあれ。
ioschedではActivityでToolbarを持つ形ではないようでした。個人的に先入観もありビックリ。
結論から言うと、FragmentでAppBarLayoutを持たせる感じでした。
スケジュールタブの場合は
<AppBarLayout>
<FrameLayout app:layout_scrollFlags="scroll|snap|exitUntilCollapsed">
<ImageView android:layout_gravity="center_vertical|start"/>
<TextView android:textAppearance="@style/TextAppearance.IOSched.ToolbarTitle"/>
</FrameLayout>
<TabLayout/>
</AppBarLayout>
といった具合です。ガッツリImageViewもTextViewも位置指定してました。
ちょっと気になってToolbarのUseageを探してみたところ、ファイルとしてはtoolbar.xmlはあるものの
これどこも使ってないように見受けられます(違ったら教えてほしい!)
UpNavigationが気になる。
ここで気になるのがスケジュール等の詳細のUpNavigation周りになってきます。
Toolbarではなく普通にImageViewでした。わお。
<ImageButton
android:id="@+id/up"
android:layout_width="?actionBarSize"
android:layout_height="?actionBarSize"
android:layout_gravity="start|top"
android:background="?selectableItemBackgroundBorderless"
android:contentDescription="@string/navigate_up"
app:srcCompat="@drawable/ic_arrow_back" />
こんな具合です。知らなかった。。
スクロールに応じて見えなくなったりもしていたのでてっきりToolbarかと思ってました。
この挙動についてはPushUpScrollListenerで定義されているようです。
感想
Material studiesを見ていると、Toolbar周りの自由度がグッと上がった気がしていて
勝手にToolbarを拡張と考えていましたが、結構筋肉で実装していく感じになるのかな?