【Android開発】色設定の集約方法

各アプリにタブレット向けの設定を反映していく中で、色の設定が各種xml、javaファイル上で直指定している個所が多数あったため、こちらも集約することにしました。

目的

  • 色の設定を1つのxmlファイルに集約して管理したい。
  • xmlファイルだけでなく、javaファイルからの参照方法も確認したい。

色設定の定義ファイルを追加

アプリ上で使用する色の設定値をまとめて管理するファイルを追加する。

※下記は、実際に「あんざん25」で追加した設定ファイルの一部です。

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <!-- 文字色:通常時 -->
    <color name="text_normal">#6f5436</color>
    <!-- 文字色:押下時 -->
    <color name="text_press">#6f5436</color>
    <!-- 文字色:非活性時 -->
    <color name="text_enable">#808080</color>
    <!-- ボタンの色:通常時 -->
    <color name="button_normal">#ead7a4</color>
    <!-- ボタンの色:押下時 -->
    <color name="button_press">#909090</color>
    <!-- ボタンの色:非活性時 -->
    <color name="button_enable">#b0b0b0</color>
    <!-- グラフの色:通常時 -->
    <color name="graph_normal">#043c78</color>
    <!-- グラフの色:目標達成時 -->
    <color name="graph_achieve">#d70035</color>
</resources>

既存のxmlファイルの変更

layoutファイル等、既存のxmlファイルで色を直指定している個所全てを、今回追加した設定値を参照するように変更する。

    <TextView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="hoge"
        android:textColor="#6f5436"/>
    <TextView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="hoge"
        android:textColor="@color/text_normal"/>

Javaファイルからの参照方法

追加した設定値をJavaファイルから参照する場合は、下記のように指定する。

    Paint p = new Paint();
    p.setColor(Color.parseColor("#6f5436"));
    Paint p = new Paint();
    Resources r = getResources();
    p.setColor(r.getColor(R.color.text_normal));

以上です。

サブコンテンツ

公開中のAndroidアプリ(全て無料です)

ビジネス

おじさんのメモ帳 おじさんのメモ帳
シンプルなメモ帳
日報 日報
日報作成補助ツール
議事録 議事録
議事録作成補助ツール

学習(国語・算数)

漢字かな 漢字かな
漢字の読みの学習に
ひらがなプラス ひらがなプラス
かな・カナの学習に
暗算百問 暗算百問
毎日暗算で頭の体操
あんざん25 あんざん25
両手で計算してみよう

学習(理科・社会)

記号かな 地図記号
地図記号の学習に
魚かな 魚かな
海の生物の学習に
動物かな 動物かな
陸上の生物の学習に
野菜かな 野菜かな
植物な食物の学習に
元素記号 元素記号
元素記号の学習に

その他

こづかい帳 こづかい帳
計算力と金銭感覚を育もう
お絵かきプラス お絵かきプラス
メモや絵日記等に

このページの先頭へ