マテリアルデザインとテーマファイル
参考: Introduction
マテリアルデザイン
とは、Google
が発表したUI設計
に関するガイドラインであり、以下の3原則を遵守する。
- 物質とは象徴である
画面は
2次元
であるが、UI部品
を物質として扱うことで3次元
的に配置する。
- 大胆で、生動的で、計画的である
印刷デザイン手法
に基づき、タイポグラフィや配置、色を工夫することで、ユーザ
に没入体験を持たせる。
- 動きには意図がある
UI部品
の役割に応じた動きをつけることで、ユーザ
に継続的に集中させる。
Android OS
もGoogle
が開発したOSであるため、標準でマテリアルデザイン
に基づいて設計されている。
文字スタイル
や配色
を定義するテーマファイル
(=themes.xml
)においても、
マテリアルデザイン
に準拠したものになるよう、注意する必要がある。
マテリアルテーマ
マテリアルデザイン
を採用するテーマ
。
Android SDKのマテリアルテーマ
テーマファイル
でテーマ
を定義する場合、<style>
タグを用いて記述する。
また、アプリケーション
の全般的テーマ
をparent
属性で定義する。
parent 属性 |
内容 |
---|---|
Theme.MaterialComponents |
暗い色 |
Theme.MaterialComponents.Light |
明るい色 |
Theme.MaterialComponents.DayNight |
OSのテーマ に依存 |
Android SDKの代替テーマ
上記の全般的テーマ
にはそれぞれ、アクションバー
の配色を同時に定義する代替テーマ
が存在する。
テーマ | 内容 | アクションバー | 暗い色に最適なアクションバー |
---|---|---|---|
Theme.MaterialComponents |
暗い色 | o | x |
.NoActionBar |
暗い色 | x | - |
Theme.MaterialComponents.Light |
明るい色 | o | x |
.NoActionBar |
明るい色 | x | - |
.DarkActionBar |
明るい色 | o | o |
Theme.MaterialComponents.DayNight |
OSのテーマ に依存 |
o | x |
.NoActionBar |
OSのテーマ に依存 |
x | - |
.DarkActionBar (既定) |
OSのテーマ に依存 |
o | o |
マテリアルデザインの配色
マテリアルデザイン
の配色は、テーマファイル
の<item>
タグで定義する。
なお、配色には4種類あり、name
属性でそれぞれ指定する。
配色名(=name 属性値) |
内容 | 用途 |
---|---|---|
colorPrimary |
メイン色 | UI部品 |
colorSecondary |
アクセントカラー = colorPrimary に対して目立つ色 |
UI部品 の領域枠 |
android:colorBackground |
背景色 | 画面の背景 |
colorError |
エラー色 | エラー内容を表示するUI部品
|