最近はナイトテーマという形で背景が黒系のテーマに切り替えられるアプリを見かけますが、3つ以上のテーマを切り替えるアプリの場合には使えないので、それを実装する方法です。 手順 使用する独自属性(アトリビュート)を定義する 独自テーマを定義 テーマごとに、属性に対応する値を定義する レイアウトで使用する色、背景、画像定義を、独自属性に置き換える テーマの切り替え処理を実装する 独自属性(アトリビュート)を定義する 例えば文字色について考えてみましょう。文字色は白色であれば@color/whiteで定義しているでしょうが、このままではテーマに応じた色変更に対応できません。 対応するには独自属性を作りレイアウトではこれを参照させる必要があります。属性はリソースフォルダに以下のように定義します。 <?xml version="1.0" encoding="utf-8"?> <resources> <