こんにちは。
仕事でAndroidアプリのstyleとthemeについて少し学ぶ必要があるので、それに関するメモです。
Developers スタイルとテーマのページ
Qiita StyleとThemeについて
会社の先輩による説明
Style
ボタンなどの各種Viewの設定値を(Key -> Value)のペアでひとまとめにしたもの。
xmlで表記される。
Theme
仕組み的にはstyleと同じだが、Viewではなく、context(アプリケーション、アクティビティ、サービス)に紐づくようにしたもの。
アプリケーションやアクティビティの挙動を規定する
styleはViewの要素(背景、サイズ等の指定)の集合体。
ThemeはStyleの集合体。
と捉えるとしっくり来るかもしれません。
①ThemeはContextに紐づく
②Viewの作成にはContextが必要
③各Viewは与えられたContextから紐づくThemeを取得
④各ViewはThemeから自身のViewに紐づくStyleを取得
⑤各ViewはStyleの内容に基づいて自身をセットアップする