[英]How to change the background color of an icon in the action bar, when clicked?
這里提供的解決方案對我不起作用,因為它需要api14並且我想支持更早的版本:
選中時更改動作背景顏色(ActionBarSherlock)
現在,當我用手指點擊操作欄上的一個項目時,它會變成藍色,我不希望這種情況發生。
信息:我正在使用SherlockActionBar。
這不起作用,因為它需要api11:
ImageView icon = (ImageView) findViewById(android.R.id.home);
icon.setBackgroundColor(getResources().getColor(R.color.black));
這是我的action_bar_items.xml
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:id="@+id/abFeed"
android:icon="@drawable/ic_action_content_paste"
android:title="@string/abFeed"
android:showAsAction="always"/>
<item
android:id="@+id/abNotifications"
android:icon="@drawable/ic_action_social_cc_bcc"
android:title="@string/abNotifications"
android:showAsAction="always"/>
<item
android:id="@+id/abAddNewItem"
android:icon="@drawable/ic_action_content_new"
android:title="@string/abAddNewItem"
android:showAsAction="always"/>
<item
android:id="@+id/abSearch"
android:icon="@drawable/ic_action_action_search"
android:title="@string/abSearch"
android:showAsAction="always"/>
</menu>
編輯:感謝Mario Lenci,這是幫助我解決問題的原因:
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true" android:drawable="@FF000000" /> <!-- pressed -->
<item android:drawable="@android:color/transparent" /> <!-- default -->
</selector>
和樣式:xml
<style name="Theme.SherlockCustom" parent="@style/Theme.Sherlock.Light">
<item name="actionBarItemBackground">@drawable/action_bar_item_background</item>
<item name="android:icon">@android:color/transparent</item>
<item name="android:minWidth">0dp</item>
<item name="android:padding">0dp</item>
</style>
您必須在您的應用程序/活動主題中設置此屬性
<item name="android:actionBarItemBackground">@drawable/your_drawable</item>
與行動酒吧sherlok你也必須設置
<item name="actionBarItemBackground">@drawable/your_drawable</item>
你可以在這里找到關於ActionBar樣式的好文檔
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.