Android如何不用setCustomView而實現ActionBar的自定義修改
阿新 • • 發佈:2019-02-20
做有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放在左邊的