FROM:http://developer.android.com/training/basics/actionbar/styling.html
活动栏给使用者提供了简单和直观的方法执行动作和运行你的APP,但是这部意味着它的方式必须和其他的APP要相似,你可以设计的活动栏去更好的适应你的产品,你可以轻松的使用安装style和theme资源。
安卓包括了一些内置的活动主题,这些包括黑的和光鲜的动作栏风格。你可以扩展这些主题,使更适合你的活动栏。
一 使用安卓主题
安卓包括了两种基本的活动主题,这个指示活动栏的颜色:
1)Theme.Holo 黑色主题
2)Theme.Holo.Light 白色主题
你可以在manifest中申请这些主题在你的APP中,或分开活动中声明他们,声明主题在<application>元素中使用
android:theme属性或分开的活动中<activity>元素中。
默认情况下是黑色的,查看menifest中的android:theme值为"@style:apptheme"
<application
android:allowBackup="true"
android:icon="@drawable/ic_action_search"
android:label="@string/app_name"
android:theme="@style/AppTheme">
运行程序结果为活动栏为黑底色:
例如:
<application android:theme="@android:style/Theme.Holo.Light" ... />
增加这个属性到manifest中,活动栏如下:
<application
android:allowBackup="true"
android:icon="@drawable/ic_action_search"
android:label="@string/app_name"
android:theme="@android:style/Theme.Holo.Light" >
运行结果为:活动栏颜色和上面相比变成了白底色
底色变成了白色的。
你也可以在<activity>元素中设置底色,活动栏和其他部分均为白色:
活动栏为白色,其他部分为黑色:
设置活动栏为白色,其他部分为黑色
设置失败了
你可以通过声明Theme.Holo.Light.DarkActionBar中声明主题,使得在使用黑活动栏的同时其他活动使用光鲜的主题。
二 定制底色
为了改变活动栏的底色,通过使用actionBarStyle属性,为你的活动创建一个定制的主题。
这个属性指出其。
若APP使用navigation tabs或split action bar,你可以使用backgroudStacked和backgroudSplit属性指定这些底色。
三 安卓3.0以上版本
当是安卓3.0或以上版本时,你可以向下面定义你的背景色:
res/values/themes.xml
<?xml version="1.0" encoding="utf-8"?> <resources> <!-- the theme applied to the application or activity --> <style name="CustomActionBarTheme" parent="@style/Theme.Holo.Light.DarkActionBar"> <item name="android:actionBarStyle">@style/MyActionBar</item> </style> <!-- ActionBar styles --> <style name="MyActionBar" parent="@style/Widget.Holo.Light.ActionBar.Solid.Inverse"> <item name="android:background">@drawable/actionbar_background</item> </style> </resources>
四 安卓2.1以上版本
五 设计文本颜色
为了给活动栏中的文字编辑颜色,你需要分开为每个文字元素分开设定。
1)活动栏标题:创建一个设定类型,知道textColor属性和指定这个类型到titleTextStyle属性;
2)活动栏标签:actionBarTabTextStyle
3)活动按钮:actionMenuTextStyle