做有ActionBar的项目时,比较懒,不想采用自定义的方式去自己写layout文件,然后分析源码,发现有些东西并不需要采用Custom的方式也能实现定制化。
比如返回按钮的图标,ActionBar的背景,以及多个页面都需要修改,如果不用在每个页面都做代码修改。
方法如下:
<?xml version="1.0" encoding="UTF-8"?>
<resources xmlns:android="http://schemas.android.com/apk/res/android">
<style name="my_actionbar_style" parent="@android:style/Widget.Holo.Light.ActionBar.Solid.Inverse">
<item name="android:background">@drawable/title_bg</item>
<item name="android:paddingLeft">-20dp</item>
<item name="android:displayOptions">showTitle</item>
</style>
<style name="my_actionbar_theme" parent="@android:style/Theme.Holo.Light.DarkActionBar">
<item name="android:homeAsUpIndicator">@drawable/back</item> <!--返回icon-->
<item name="android:actionBarStyle">@style/my_actionbar_style</item> <!--返回icon-->
</style>
</resources>
只需在Application中指定Theme即可。
我这里,修改了背景,返回靠左边点,以及返回ICON,默认显示标题,不显示其他东东
PS:标题若想居中,只能采用Custom的方式,因为Android当初设计的时候就和IOS有差别,他是把title放在左边的