アプリのテーマを自作して設定する

アプリのアクティビティやビューに独自のテーマ(Theme)を自作して設定する方法を紹介します。

styles.xmlにテーマを作る

テーマはstyles.xmlファイル上にstyle要素として定義します。たとえば次のようなものがテーマです。

    <style name="MyTheme" parent="android:Theme.Light" >
        <item name="android:windowNoTitle" >true</item >
        <item name="android:textSize" >18sp</item>
        <item name="android:drawablePadding" >0dp</item>
    </style>

これはMyThemeという名前で作ったタイトルバーなしでテキストサイズが18dpのテーマです。

parent属性にはこのテーマに継承させたい親テーマを指定します。この例ではandroid:Theme.Lightという白を基調にしたテーマを親テーマとしています。

Androidであらかじめ用意されているテーマの中で代表的なテーマには次があります。

テーマ名説明
android:Theme.Light背景色に白、テキスト色に黒を基調としたテーマ
android:Theme.Holo背景色に黒、テキスト色に白を基調としたテーマ
android:Theme.NoTitleBarタイトルバーなしのテーマ
android:Theme.Wallpaper背景に現在の壁紙を表示するテーマ
android:Theme.Translucent背景色が透明になるテーマ

より詳しくテーマについて調べたい場合はthemes.xmlを見てください。

アプリへテーマを設定

作ったテーマをアプリ全体に設定するにはAndroidManifest.xmlapplication要素のtheme属性にテーマを渡します。

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

もし特定のアクティビティだけにテーマを設定したい場合もactivity要素のtheme属性に同じようにテーマのスタイルを渡します。

関連項目
プライバシーポリシー