自定義ActionBar -- 更換返回鍵圖示
阿新 • • 發佈:2019-01-10
實現上述自定義的返回鍵圖示,且圖片隨按下圖示而變化。
1 準備好倆個返回鍵圖片,利用selector設定,在不同狀態下,呼叫不同圖片。
在drawble資料夾下定義一個menu_back_bg.xml檔案:
<?xml version="1.0" encoding="UTF-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_pressed="true" android:drawable="@drawable/menu_back_blue"/> <item android:drawable="@drawable/menu_back_gray"/> </selector>
越在前面的item優先順序越高,所以需要android:state_pressed這個item放在前面。
如果倆者順序相反,將會一直顯示menu_back_gray這個白色圖片。
2.在values資料夾下的styles.xml檔案中通過自定義android:homeAsUpIndicator的圖片,達到更改返回鍵圖示的作用
<style name = "ActionBarStyle" parent="@android:style/Widget.DeviceDefault.ActionBar">
</style>
<style name="SimInfoTheme" parent="@android:style/Theme.DeviceDefault.Light">
<item name="android:actionBarStyle">@style/ActionBarStyle </item>
<item name ="android:homeAsUpIndicator">@drawable/menu_back_bg</item>
</style>
3.最後在AndroidManifest.xml資料夾中給該activity加上自定義的theme
<activity android:name="com.sec.android.app.simrecord.SimRecord" android:label="@string/app_name" android:theme="@style/SimRecordTheme"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity>
其實直接在activity中通過AvtionBar進行設定該圖示也是可以的:
ActionBar mActionBar = getActionBar();
mActionBar.setDisplayHomeAsUpEnabled(true);
mActionBar.setHomeAsUpIndicator(R.drawable.menu_back_bg); //設定自定義的返回鍵圖示