พฤติกรรมของ Actionbar สามารถเปลี่ยนแปลงได้ใน APIs <11
ดูเอกสารทางการของ Androidสำหรับการอ้างอิง
ฉันกำลังสร้างแอพด้วยminSdkVersion = "9"
และtargetSdkVersion = "21"
ฉันเปลี่ยนสีของแถบแอ็คชันและทำงานได้ดีกับ API ระดับ 9
นี่คือ xml
res/values/themes.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!-- the theme applied to the application or activity -->
<style name="CustomActionBarTheme"
parent="@style/Theme.AppCompat.Light.DarkActionBar">
<item name="android:actionBarStyle">@style/MyActionBar</item>
<!-- Support library compatibility -->
<item name="actionBarStyle">@style/MyActionBar</item>
</style>
<!-- ActionBar styles -->
<style name="MyActionBar"
parent="@style/Widget.AppCompat.Light.ActionBar.Solid.Inverse">
<item name="android:background">@color/actionbar_background</item>
<!-- Support library compatibility -->
<item name="background">@color/actionbar_background</item>
</style>
</resources>
และตั้งค่าสีของแถบเครื่องมือที่คุณต้องการ
res/values/colors.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="actionbar_background">#fff</color> //write the color you want here
</resources>
สีของ Actionbar ยังสามารถกำหนดได้ใน.class
ไฟล์ข้อมูลโค้ดคือ
ActionBar bar = getActionBar();
bar.setBackgroundDrawable(new ColorDrawable(Color.parseColor("#0000ff")));
แต่สิ่งนี้จะไม่ทำงานกับAPI <11ดังนั้นการกำหนดสไตล์ให้กับ actionbar xml
เป็นวิธีเดียวสำหรับ API <11