[英]Change ActionBarSherlock background color
我正在嘗試實施 ActionBarSherlock,因為有人告訴我實施和定制相對容易。 我發現它很容易實現,但我試圖改變 ActionBar 的背景顏色,但事實證明這很困難。
根據站點 (鏈接),您似乎可以繼承 ActionBarSherlock 的主題之一,然后覆蓋您需要的屬性。
這是我到目前為止所擁有的:
<?xml version="1.0" encoding="UTF-8"?>
<resources>
<style name="Theme.ActionBar" parent="Theme.Sherlock.ForceOverflow">
<item name="android:background">#000000</item>
<item name="background">#000000</item>
</style>
</resources>
我注意到內置主題使用圖像作為背景,但我祈禱我不必創建圖像來更改背景顏色。
謝謝。
操作欄背景顏色是在操作欄的樣式中定義的,而不是在主題本身中。 你需要做這樣的事情:
<style name="Theme.MyTheme" parent="Theme.Sherlock.ForceOverflow">
<item name="actionBarStyle">@style/Widget.MyTheme.ActionBar</item>
<item name="android:actionBarStyle">@style/Widget.MyTheme.ActionBar</item>
</style>
<style name="Widget.MyTheme.ActionBar" parent="Widget.Sherlock.ActionBar">
<item name="android:background">#ff000000</item>
<item name="background">#ff000000</item>
</style>
使用 XML 中定義的 colors 時要小心ColorDrawable
不遵守它在 Honeycomb 之前的視圖邊界,因此如果您使用具有單獨背景的選項卡導航來堆疊選項卡視圖,您將遇到問題。
我剛用
getSupportActionBar().setBackgroundDrawable(new ColorDrawable(Color.parseColor("#00853c")));
它改變了背景顏色。 希望能幫助到你。
Jake Wharton 提到的代碼是真實的。 但是,當將代碼應用於 styles.xml 時,如果您的 minSDK<11 可能無法正常工作,因為 API-11+ 支持 android:actionBarStyle
要解決該錯誤:
在您的 res 文件夾中創建一個 values-v11 的文件夾,並創建 XML 文件,如上所述。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.