应用如何定制ActionBar的背景颜色

应用如何定制ActionBar的背景颜色

[DESCRIPTION]

应用如何定制ActionBar的背景颜色?

[SOLUTION]

ActionBar 默认使用的背景颜色是取自Style Widget.AppCompat.ActionBar,如果需要定制自己的
应用的ActionBar的背景颜色,可以自定义一个Style文件,并将Widget.AppCompat.ActionBar设置
为Parent, 然后再设定item background 为需要的值即可。参考例子如下:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!-- the theme applied to the application or activity -->
<style name="CustomActionBarTheme"
parent="@style/Theme.AppCompat.Light">
<item name="Android:actionBarStyle">@style/MyActionBar</item>
<item name="android:actionBarTabTextStyle">@style/TabTextStyle</item>
<item name="android:actionMenuTextColor">@color/actionbar_text</item>
<!-- Support library compatibility -->
<item name="actionBarStyle">@style/MyActionBar</item>
<item name="actionBarTabTextStyle">@style/TabTextStyle</item>
<item name="actionMenuTextColor">@color/actionbar_text</item>
</style>
<!-- general styles for the action bar -->
<style name="MyActionBar"
parent="@style/Widget.AppCompat.ActionBar">
<item name="android:titleTextStyle">@style/TitleTextStyle</item>
<item name="android:background">@drawable/actionbar_background</item>
<item name="android:backgroundStacked">@drawable/actionbar_background</item>
<item name="android:backgroundSplit">@drawable/actionbar_background</item>
<!-- Support library compatibility -->
<item name="titleTextStyle">@style/TitleTextStyle</item>
<item name="background">@drawable/actionbar_background</item>
<item name="backgroundStacked">@drawable/actionbar_background</item>
<item name="backgroundSplit">@drawable/actionbar_background</item>
</style>
<!-- action bar title text -->
<style name="TitleTextStyle"
parent="@style/TextAppearance.AppCompat.Widget.ActionBar.Title">
<item name="android:textColor">@color/actionbar_text</item>
</style>
<!-- action bar tab text -->
<style name="TabTextStyle"
parent="@style/Widget.AppCompat.ActionBar.TabText">
<item name="android:textColor">@color/actionbar_text</item>
</style>
</resources>
在您的app manifest file, 可以让整个app使用客制化的Theme
<application android:theme="@style/CustomActionBarTheme" ... />
或者让 activity 使用客制化的Theme
<activity android:theme="@style/CustomActionBarTheme" ... />
ActionBar的其他属性修改,也可以参考该方法,具体可以参考Android developer上的说明。
http://developer.android.com/guide/topics/ui/actionbar.html#Style

猜你喜欢

转载自blog.csdn.net/sandform/article/details/52037752