根据主题更改可绘制

我有两种不同颜色的图像,对应于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> 

然后,在样式中,我想要在light主题中将@ drawable / buttonface_picture映射为@ drawable / buttonface_picture_light,对于黑暗主题则绘制@ drawable / buttonface_picture_dark。

我觉得应该有一个方法,但是我很难find语法。 如果它改变了什么,我使用ActionBarSherlock。

Solutions Collecting From Web of "根据主题更改可绘制"

似乎我总是只是一个谷歌search或两个远离我的答案。 解决scheme是:

在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> 

访问资源页面结合这个SO最终得到它点击我的大脑。