这里提供的解决方案对我无效,因为它需要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>