我在我的应用程序上使用 ActionBarSherlock,当我在 ActionBar 中禁用某些 MenuItem 时,图标在我的手机上变成半透明的(HTC One X 运行 Android 4.0.4),但我没有在任何其他手机上看到这种行为或模拟器。
我假设此行为不是 native ActionBar 的默认行为是否正确?不过我喜欢这个想法...它警告用户 MenuItem 由于某种原因未启用(在我的例子中,它是一个保存按钮,如果至少有一个字段未填充,它会禁用该按钮)。
我正在考虑为自己提供一个半透明图标,并在禁用 MenuItem 时手动设置它。这将适用于每个 Android 版本,无论是否为原生 ActionBar。问题是在我的手机上(或任何其他具有相同行为的手机),它会是半透明的两倍,我不希望这样。
关于如何正确实现这种效果有什么想法吗?
最佳答案
我认为问题出在主题上,您正在应用默认主题。因此,HTC 覆盖默认主题资源,我认为您必须创建一个自定义主题并将 item_background 更改为 sdk 资源上的默认主题。
<item name="selectableItemBackground">@android:drawable/item_background</item>
关于android - 禁用时 ActionBar 中的半透明图标 : only on my phone?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13073630/