Android 禁用时ActionBar中的半透明图标:仅在我的手机上?

Android 禁用时ActionBar中的半透明图标:仅在我的手机上?,android,icons,actionbarsherlock,menuitem,translucency,Android,Icons,Actionbarsherlock,Menuitem,Translucency,我在我的应用程序上使用ActionBarSherlock,当我禁用ActionBar中的一些菜单项时,图标在我的手机上会变成半透明的(HTC One X运行Android 4.0.4),但我在任何其他手机或模拟器上都没有看到这种行为 我假设这个行为不是本机ActionBar的默认行为,对吗?不过我喜欢这个主意。。。它警告用户由于某种原因没有启用菜单项(在我的例子中,它是一个保存按钮,如果至少有一个字段没有填写,它将禁用该按钮) 我想为自己提供一个半透明图标,并在菜单项被禁用时手动设置它。这将适用

我在我的应用程序上使用ActionBarSherlock,当我禁用ActionBar中的一些菜单项时,图标在我的手机上会变成半透明的(HTC One X运行Android 4.0.4),但我在任何其他手机或模拟器上都没有看到这种行为

我假设这个行为不是本机ActionBar的默认行为,对吗?不过我喜欢这个主意。。。它警告用户由于某种原因没有启用菜单项(在我的例子中,它是一个保存按钮,如果至少有一个字段没有填写,它将禁用该按钮)

我想为自己提供一个半透明图标,并在菜单项被禁用时手动设置它。这将适用于每一个Android版本,无论是否为本机ActionBar。问题是,在我的手机上(或任何其他具有相同行为的手机上),它的半透明度将是原来的两倍,我不希望这样


有没有关于如何正确实现此效果的想法?

我认为问题在于主题,您正在应用默认主题。所以,HTC覆盖默认主题资源,我认为您必须创建一个自定义主题,并将sdk资源上的item_背景更改为默认主题

<item name="selectableItemBackground">@android:drawable/item_background</item>
@android:drawable/item\u后台

您必须将背景设置为独立于主题。在.xml文件中,您可以设置:

android:background="?android:attr/listSelector"

在需要颜色的视图上。

您是否尝试过在ActionButton上设置alpha值?如果HTC将该值设置为0.5,那么您可以为所有设备设置该值。