くらげになりたい。

くらげのようにふわふわ生きたい日曜プログラマなブログ。趣味の備忘録です。

ActionBarの色を変えるとか(Custom Theme)

AndroidでActionBarを変えたいとかあるよね? 基本的にThemeを作って適用する感じ。 その時の備忘録。

以下、サンプルたちのres/values/styles.xml

サンプル1:アプリの背景色を変える。

<?xml version="1.0" encoding="utf-8"?>
<resources>

    <!-- Customize Application Theme -->
    <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
        <!-- Custom background of application -->
        <item name="android:windowBackground">@drawable/background</item>
    </style>

</resources>

サンプル2:ActionBarの背景色も変える

<?xml version="1.0" encoding="utf-8"?>
<resources>

    <!-- Customize Application Theme -->
    <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
        <!-- Custom background of application -->
        <item name="android:windowBackground">@drawable/background</item>
        <!-- Customize ActionBar -->
        <item name="android:actionBarStyle">@style/MyActionBar</item>
    </style>

    <!-- Customize ActionBar -->
    <style name="MyActionBar" parent="Widget.AppCompat.Light.ActionBar">
        <!-- Custom background color of ActionBar -->
        <item name="android:background">@color/actionbar_background</item>
    </style>

</resources>

サンプル3:ActionBarのタイトル文字のスタイルも変える

<?xml version="1.0" encoding="utf-8"?>
<resources>

    <!-- Customize Application Theme -->
    <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
        <!-- Custom background of application -->
        <item name="android:windowBackground">@drawable/background</item>
        <!-- Customize ActionBar -->
        <item name="android:actionBarStyle">@style/MyActionBar</item>
    </style>

    <!-- Customize ActionBar -->
    <style name="MyActionBar" parent="Widget.AppCompat.Light.ActionBar">
        <!-- Custom background color of ActionBar -->
        <item name="android:background">@color/actionbar_background</item>
        <!-- Custom title text style of ActionBar -->
        <item name="android:titleTextStyle">@style/MyActionBarTitleText</item>
    </style>

    <!-- Customize ActionBarTitleText -->
    <style name="MyActionBarTitleText" parent="TextAppearance.AppCompat.Widget.ActionBar.Title">
        <!-- Custom text color of TitleText in ActionBar -->
        <item name="android:textColor">@color/actionbar_textColor</item>
        <!-- Custom text style of TitleText in ActionBar -->
        <item name="android:textStyle">bold|italic</item>
        <!-- Custom type face of TitleText in ActionBar -->
        <item name="android:typeface">sans</item>
    </style>

</resources>