Android ActionBar自定义

1.设置action bar的背景色 

第一种方式:getActionBar().setBackgroundDrawable(getResources().getDrawable(R.drawable.ActionBarBackground));

ActionBarBackground 为定义在values/colors.xml

colors.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>
<drawable name="ActionBarBackground">#ED4026</drawable>
</resources>

此种方法特点:简单方便,但必须在代码中设置,若不同activity公用同一个actionbar样式,则不利于复用 。 so, 参考第二种方式

 

第二种方式:由官方文档给出,通过设置主题的属性实现。(不同activity可复用)

具体做法: (以下方法适合3.0及以上,2.1及以上参考官方文档)

res/values/themes.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <!-- the theme applied to the application or activity -->
    <style name="CustomActionBarTheme"
           parent="@android:style/Theme.Holo.Light.DarkActionBar">
        <item name="android:actionBarStyle">@style/MyActionBar</item>
    </style>

    <!-- ActionBar styles -->
    <style name="MyActionBar"
           parent="@android:style/Widget.Holo.Light.ActionBar.Solid.Inverse">
        <item name="android:background">@drawable/actionbar_background</item>
    </style>
</resources>

Then apply your theme to your entire app or individual activities:
<application android:theme="@style/CustomActionBarTheme" ... />
也可在建立项目后application或activity默认引用的主题样式文件styles.xml中直接修改添加
修改 <style name="AppBaseTheme" parent="@android:style/Theme.Holo"> 
或添加以上文件内容到styles.xml
actionbar_background可添加在colors.xml文件中

 

参考:http://blog.csdn.net/jwzhangjie/article/details/28852967

参考:http://blog.csdn.net/yueqinglkong/article/details/20876401

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。