2011/09/17

Android で現在のテーマカラー等を取得する

Android はテーマを変えるだけでアプリケーション全体の見た目を変えることが出来るので便利です。
設定でテーマを選ぶと、雰囲気が変わるアプリってありますよね。
そういうアプリを作りたくて、テーマでカラーチェンジ出来るように意識して作っていると、現在のテーマカラーを知りたいということが結構あります。

例えば、Viewを使ってアンダーライン等を作ってる場合などですね。
白を基調としたアプリの場合は黒いラインを引きたいですし、黒基調の場合は白いラインにしたいのです。
で、そういう方法は無いものかと探していたら、

Accessing Resources | Android Developers
リソースへのアクセス | ソフトウェア技術ドキュメントを勝手に翻訳 (日本語訳)

を見つけました。
というわけで、水平区切りラインを書きたい場合にはlayoutの中に以下のように書いてやると良いみたいです。

<View
  android:layout_width="fill_parent"
  android:layout_height="1dp"
  android:background="?android:attr/colorForeground" />

ちなみに、取得できるAttributeは以下のディレクトリを調べるとわかります。

%Android_SDK%/docs/reference/android/R.attr.html

0 件のコメント: