1. 程式人生 > >Android如何不用setCustomView而實現ActionBar的自定義修改

Android如何不用setCustomView而實現ActionBar的自定義修改

做有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放在左邊的