Изменение на основе темы

У меня есть изображение в двух разных цветах, что соответствует двум различным темам в 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.

Solutions Collecting From Web of "Изменение на основе темы"

Похоже, что я всегда просто поиск Google или два от моих ответов. Решение:

В 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 в конечном итоге заставила его щелкнуть в моем мозгу.