繁体   English   中英

单击时如何更改操作栏中图标的背景颜色?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM