スタイルとテーマの開発ガイドで概説されているように、プラットフォームのバージョンに基づいてテーマを選択できます。次のように res/values/styles.xml でスタイルを定義します。
<style name="ThemeSelector" parent="android:Theme.Light">
...
</style>
次に、 res/values-v11/ フォルダーで、テーマを選択します (暗い場合はおそらくホロ)
<style name="ThemeSelector" parent="android:Theme.Holo">
...
</style>
次に、そのスタイルにアイコンを追加します。たとえば、HoneycombGalleryサンプル アプリケーションの styles.xml ファイルのスニペットを次に示します。
<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>
下の 3 つの要素はすべて、描画可能なディレクトリ内のアイコンです。解像度固有のアイコン セットごとに少なくとも 1 つのフォルダーが必要ですが、明るいアイコンと暗いアイコンを同じフォルダーにまとめることができますが、プラットフォーム バージョンごとに異なるアイコンのフォルダーを用意する必要はありません。また、次のように、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>
この時点で、次のように「?attr/NameOfYourDrawable」逆参照を使用して、レイアウト XML 内でそれらを参照できます。
<item android:id="@+id/menu_camera"
android:title="@string/camera"
android:icon="?attr/menuIconCamera"
android:showAsAction="ifRoom" />