Вы можете выбрать тему в зависимости от версии платформы, как описано в руководстве Styles and Themes dev. Определите стиль в вашем файле res / values / styles.xml следующим образом:
<style name="ThemeSelector" parent="android:Theme.Light">
...
</style>
Затем в папке res / values-v11 / выберите свою тему (вероятно, Holo, если вы темный)
<style name="ThemeSelector" parent="android:Theme.Holo">
...
</style>
Затем добавьте значки в этот стиль. Например, вот фрагмент из файла styles.xml из образца приложения HoneycombGallery .
<style name="AppTheme.Dark" parent="@android:style/Theme.Holo">
...
<item name="menuIconCamera">@drawable/ic_menu_camera_holo_dark</item>
<item name="menuIconToggle">@drawable/ic_menu_toggle_holo_dark</item>
<item name="menuIconShare">@drawable/ic_menu_share_holo_dark</item>
</style>
Все три нижних элемента - это иконки в каталогах для рисования. Для каждого набора значков для определенного разрешения вам все равно понадобится как минимум одна папка, но вы можете комбинировать светлые и темные значки в одну и ту же папку, но вам не нужно иметь разные папки значков для каждой версии платформы. Также вам нужно будет перечислить их как ссылки в файле values / attrs.xml, например:
<resources>
<declare-styleable name="AppTheme">
<attr name="listDragShadowBackground" format="reference" />
<attr name="menuIconCamera" format="reference" />
<attr name="menuIconToggle" format="reference" />
<attr name="menuIconShare" format="reference" />
</declare-styleable>
</resources>
В этот момент вы сможете ссылаться на них в своем макете XML с помощью разыменования "? Attr / NameOfYourDrawable", например:
<item android:id="@+id/menu_camera"
android:title="@string/camera"
android:icon="?attr/menuIconCamera"
android:showAsAction="ifRoom" />