Изменение на основе темы
У меня есть изображение в двух разных цветах, соответствующих двум различным темам в 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.
Ответы
Ответ 1
Похоже, что я всегда просто поиск 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>
Доступ к странице ресурсов в сочетании с this SO в конечном итоге заставил ее щелкнуть мой мозг.
Ответ 2
Пожалуйста, проверьте мой ответ по этой ссылке.