我正在我的应用程序上使用ActionBarSherlock,当我在ActionBar中禁用一些MenuItem时,我的手机上的图标变为半透明(HTC One X运行股票Android 4.0.4)但我还没有在任何其他手机中看到此行为或模拟器。
我是否正确地假设此行为不是本机ActionBar的默认行为?我喜欢这个想法......它警告用户由于某种原因没有启用MenuItem(在我的情况下,它是一个保存按钮,如果至少有一个字段没有填充,它会禁用按钮)。
我在考虑为自己提供半透明图标,并在禁用MenuItem时手动设置它。这适用于每个Android版本,原生ActionBar与否。问题在于我的手机(或任何其他具有相同行为的手机),它将是半透明的两倍,我不希望这样。
关于如何才能正确实现这种效果的任何想法?
答案 0 :(得分:1)
我认为问题出在主题上,您正在应用默认主题。所以,HTC覆盖默认主题资源,我认为你必须创建一个自定义主题并将item_background更改为sdk资源上的默认主题。
<item name="selectableItemBackground">@android:drawable/item_background</item>
答案 1 :(得分:0)
您必须将背景设置为独立于主题。在.xml文件中,您可以设置:
android:background="?android:attr/listSelector"
在您想要颜色的视图上。