NestedScrollView

NestedScrollViewを使うと、スクロールの動きとToolbarの表示が連動する。

NestedScrollView  |  Android Developers
Androidのマテリアルデザイン ~スクロール連動~ (2/3):CodeZine(コードジン)

strings.xmlで、

textview_longtext_textはスクロール効くようにたくさんの改行と文字で長くしている。
activity_main.xmlで、

ポイントはToolbarの、

app:layout_scrollFlags="scroll|enterAlways"

とNestedScrollViewの、

app:layout_behavior="@string/appbar_scrolling_view_behavior"

でenterAlwaysで上に戻すとToolbarも現れだす。
appbar_scrolling_view_behaviorは自分で定義するのではなく、こういうものが既に定義されているのでそのまま使う。

最初はこう
最初はこう

最初はこう。
下に下がっていくと、

Toolbarが隠れ始める
Toolbarが隠れ始める

Toolbarが隠れ始める。

完全に隠れた
完全に隠れた

完全に隠れた。

Sample/android/NestedScrollView/NestedScrollView/NestedScrollView_ at master · bg1bgst333/Sample · GitHub

AppBarLayout

AppBarLayoutは、アクションバーの構成を決めるレイアウトで、この中にToolbar以外のモノも入れることで、Toolbarの下になんらかのViewを配置できる。

AppBarLayout  |  Android Developers
Androidのマテリアルデザイン ~スクロール連動~ (1/3):CodeZine(コードジン)

まず、app/build.gradleで、

Android Design Support Libraryを追加。
styles.xmlで、

"AppTheme"は"android:Theme.Material.NoActionBar"をベースに。
strings.xmlは、

こうする。

mipmap-xhdpiにlogo1を配置
mipmap-xhdpiにlogo1を配置

mipmap-xhdpiにlogo1を配置。
activity_main.xmlは、

AppBarLayoutの中に、ToolbarとButton。
縦のLinearLayoutみたいになる。
MainActivity.javaは、

toolbar1のセットと一応Buttonも押したらToast。

こんな風になる
こんな風になる

こんな風になる。
BUTTON1を押すと、

Toastも出る
Toastも出る

Toastも出る。

Sample/android/AppBarLayout/AppBarLayout/AppBarLayout_ at master · bg1bgst333/Sample · GitHub

Toolbar.setSubtitle

Toolbar.setSubtitleで、サブタイトルをセットする。

Toolbar  |  Android Developers

strings.xmlで、

subtitle_stringを"Sub Title"とする。
MainActivity.javaは、

subtitle_stringをセット。

赤いタイトルの下にサブタイトルが表示された。
赤いタイトルの下にサブタイトルが表示された。

赤いタイトルの下にサブタイトルが表示された。

Sample/android/Toolbar/setSubtitle/Toolbar_ at master · bg1bgst333/Sample · GitHub

Toolbar.setTitleTextColor

Toolbar.setTitleTextColorでタイトルのテキストの色をセットする。

Toolbar  |  Android Developers

MainActivity.javaで、

Color.REDを指定すると、

"Main Title"が赤になった
"Main Title"が赤になった

"Main Title"が赤になった。

Sample/android/Toolbar/setTitleTextColor/Toolbar_ at master · bg1bgst333/Sample · GitHub

Toolbar.setTitle

Toolbar.setTitleで、タイトルをセットする。

Toolbar  |  Android Developers

strings.xmlで、

title_stringを"Main Title"とする。
MainActivity.javaで、

title_stringをセット。

"Main Title"がセットされた
"Main Title"がセットされた

"Main Title"がセットされた。

Sample/android/Toolbar/setTitle/Toolbar_ at master · bg1bgst333/Sample · GitHub

Toolbar.setLogo

Toolbar.setLogoで、ロゴをセットする。

Toolbar  |  Android Developers

setIconは無いみたい。

mipmap-xhdpiにlogo1を配置
mipmap-xhdpiにlogo1を配置

mipmap-xhdpiにlogo1を配置。

logo1があるのを確認
logo1があるのを確認

logo1があるのを確認。
MainActivity.javaで、

logo1をセット。

logo1がセットされた
logo1がセットされた

logo1がセットされた。

Sample/android/Toolbar/setLogo/Toolbar_ at master · bg1bgst333/Sample · GitHub