您可以根據平臺版本選擇主題,如Styles and Themes開發指南中所述。定義一個風格在你的RES /價值/ styles.xml這樣的:
<style name="ThemeSelector" parent="android:Theme.Light">
...
</style>
然後在RES /值-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個元素都是可繪製目錄中的所有圖標。每個分辨率特定的圖標組仍然至少需要一個文件夾,但是您可以將深色圖標組合成同一個文件夾,但不必爲每個平臺版本具有不同的文件夾圖標。此外,你需要列出它們作爲值/ 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" />
這正是我所需要的。我在我的應用程序中與光明和黑暗的圖標集打架。自2。3和使用白色菜單和3.0及以上使用標準主題的黑暗菜單,我不能只使用一個圖標集。謝謝! – kenyu73 2012-07-13 04:08:06
這應該是答案。效果很好 – 2013-12-29 17:30:35