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>