我有两种不同颜色的图像,对应于 Android 中的两个不同主题。我想在我的操作栏中使用它们。我想为图标引用可绘制对象,与主题无关,但让该可绘制对象引用浅色主题的浅色和浅色主题的深色。
在菜单中:
<item
android:id="@+id/menu_attach_existing_picture"
android:icon="@drawable/buttonface_picture"
android:showAsAction="always"
android:title="@string/menu_attach_existing_picture">
</item>
然后在样式中,我想要将 @drawable/buttonface_picture 映射到浅色主题中的 @drawable/buttonface_picture_light 和深色主题中的 @drawable/buttonface_picture_dark。
我觉得一定有办法,但我找不到语法。如果它改变了什么,我正在使用 ActionBarSherlock。
最佳答案
似乎我总是离我的答案只有一两个谷歌搜索。解决办法是:
在styles.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最终让它在我的脑海中点击。
关于android - 根据主题更改 Drawable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13735675/