Navigationでタイトルを設定する

Kenji Abe
2 min readMar 23, 2019

--

Navigationを使ったときのActionBar/Toolbarのタイトルの設定方法です。

環境

Navigation UIの設定

ActionBarとNavigationを連携させる設定がまず必要になります。細かい説明は省略します。ドキュメントを見てもらえると。

Toolbarの場合は以下のような感じです。ただし、 setSupportActionBar をやってると最初のFragmentのタイトルがうまく設定されないので、注意してください。

nav_graph.xml

実際のタイトルはnav_graphの android:label に設定します。

これだけで、設定完了です。あとはNavigationが自動でタイトルを設定してくれます。

動的なタイトル設定

動的にタイトルを設定することも可能です。 android:label{argName} のように設定することで引数からタイトルを設定することができます。

指定した引数が渡されてない場合はクラッシュするので注意してください。

最初のFragment

最初のFragmentに引数を設定するには、 setGraph に引数を渡すことで可能です。

2番目以降のFragment

2番目以降のFragmentは通常の引数と同じように navigate 時に渡してあげます。

補足

この方法を使わずいつもどおり setTitle を使う場合は、NavGraphの android:label を未設定にしたほうが良いでしょう。意図せずコチラの値が使用される可能性があります。

参考

--

--

Kenji Abe

Programmer / Gamer / Google Developers Expert for Android, Kotlin / @STAR_ZERO