テーマ機能を使ってアプリケーション全体にスタイルを適用させる方法

アプリケーション全体のスタイルを指定する機能にテーマというものがあります。
スタイル同様にテーマも属性値を一括で指定する方法ですが、違うのがスタイルが要素それぞれで指定するのに対して、テーマは全体に指定します。

[参考記事] スタイルを使って属性を一括で管理する方法

テーマ用のファイルはスタイル用のファイルと違いはありません。
テーマ用とスタイル用で共通でも可能です。


[参考記事] Androidのlayoutで使用できるパーツの一覧 ビュー(部品)
[参考記事] よく使うUIパーツのプロパティ

<?xml version="1.0" encoding="utf-8"?>
<resources>
  <style name="CommonText">
    <item name="android:layout_width">300px</item>
    <item name="android:textColor">#00FF00</item>
    <item name="android:background">#ff0000</item>
  </style>
</resources>

テーマの適用方法

テーマを適用させるには3つの方法があります。

アプリケーションのすべてにテーマを設定するにはマニフェストファイルのapplicationタグに指定します。

<application android:icon="@drawable/icon" android:label="@string/app_name" android:theme="@style/CommonText">

アプリケーションのアクティビティにのみにテーマを設定するにはマニフェストファイルのactivityタグに指定します。

<activity android:name=".StyleSample" android:label="@string/app_name" android:theme="@style/CommonText">

setTheme()メソッドを使用するとjavaファイルにもテーマを設定する事もできます。

@Override
public void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setTheme(R.style.CommonText);
  setContentView(R.layout.main);
}

setContentViewメソッドを呼び出す前にsetTheme()メソッドを呼ばないとテーマは設定されません。

関連記事

スポンサーリンク

HAVING句 集計関数の結果を条件とした絞込み

ホームページ製作・web系アプリ系の製作案件募集中です。

上に戻る