我有两种不同颜色的图像,对应Android中的两个不同主题。我想在我的Action Bar中使用它们。我想参考一个drawable图标,主题不可知,但有可绘制的参考灯光主题的浅色和浅色主题的深色。
在菜单中:
<item
android:id="@+id/menu_attach_existing_picture"
android:icon="@drawable/buttonface_picture"
android:showAsAction="always"
android:title="@string/menu_attach_existing_picture">
</item>
然后在样式中我希望在light主题中将@ drawable / buttonface_picture映射到@ drawable / buttonface_picture_light,为黑暗主题设置@ drawable / buttonface_picture_dark。
我觉得必须有办法,但我找不到语法。如果它改变了什么,我正在使用ActionBarSherlock。
答案 0 :(得分:75)
似乎我总是只是谷歌搜索或两个远离我的答案。解决方案是:
style.xml中的
<attr name="buttonface_picture" format="reference"/>
然后在实际主题中:
<item name="buttonface_picture">@drawable/buttonface_picture_dark</item>
或
<item name="buttonface_picture">@drawable/buttonface_picture_light</item>
然后,在menu.xml中:
<item
android:id="@+id/menu_attach_existing_picture"
android:icon="?attr/buttonface_picture"
android:showAsAction="always"
android:title="@string/menu_attach_existing_picture">
</item>
Accessing Resources Page结合this SO最终让我点击了我的大脑。