AppCompat Light DarkActionBarテーマをアプリに使用しました。
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
</style>
このActionBarの背景色とテキスト色を変更することは可能ですか?はいの場合、どのように?
次のコードを使用すると、アクションバーを完全にスタイルできます。
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="actionBarStyle">@style/Widget.AppTheme.ActionBar</item>
<item name="actionBarTheme">@style/ThemeOverlay.AppTheme.ActionBar</item>
<item name="actionBarPopupTheme">@style/ThemeOverlay.AppTheme.PopupMenu</item>
</style>
背景色または標高を変更するには、アクションバーstyleをオーバーライドします。
<style name="Widget.AppTheme.ActionBar" parent="Widget.AppCompat.ActionBar.Solid">
<!-- action bar background - without Android prefix -->
<item name="background">...</item>
<!-- action bar elevation - without Android prefix -->
<item name="elevation">4dp</item>
</style>
アクションバーthemeをオーバーライドして、アクションアイテム、リップル背景色、テキスト色など、アクションバー内のすべてのビューに特別な動作を定義します。
<style name="ThemeOverlay.AppTheme.ActionBar" parent="ThemeOverlay.AppCompat.Dark.ActionBar">
<!-- title text color -->
<item name="Android:textColorPrimary">...</item>
<!-- subtitle text color -->
<item name="Android:textColorSecondary">?android:textColorPrimary</item>
<!-- action menu item text color -->
<item name="actionMenuTextColor">?android:textColorPrimary</item>
<!-- action menu item icon color -->
<item name="colorControlNormal">?android:textColorPrimary</item>
</style>
ポップアップテーマを変更することもできます。
<style name="ThemeOverlay.AppTheme.PopupMenu" parent="ThemeOverlay.AppCompat.Dark">
<!-- popup menu background - NEVER "Android:background" !!! in themes -->
<item name="Android:colorBackground">...</item>
<!-- popup menu item text color -->
<item name="Android:textColorPrimary">...</item>
</style>
一方、次のコードを使用すると、ウィンドウをスタイルできます。
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<!-- window background - NEVER "Android:background" in themes !!! -->
<item name="Android:windowBackground">...</item>
<item name="Android:textColorPrimary">...</item>
<item name="Android:textColorSecondary">...</item>
</style>
アクションバーのテキストの色を直接変更することもできます。 ただし、注意してください!これはメニュー項目やアイコンのテキストの色や波紋の色には影響しません!これはおそらく長期的には望んでいないことです。
<style name="Widget.AppTheme.ActionBar" parent="Widget.AppCompat.ActionBar.Solid">
<!-- title text color -->
<item name="titleTextColor">?android:textColorPrimary</item>
<!-- subtitle text color -->
<item name="subtitleTextColor">?android:textColorSecondary</item>
</style>
はい、アクションバーのテキストの色を変更できます。これをアクティビティのonCreateに追加します。
actionBar.setTitle(Html.fromHtml("<font color='#ffff00'>Your Title</font>"));