做項目時遇到過這個問題,我想要為Android 的每個option menu加表徵圖,然後改變每個menu item的相片順序,預設的menu item 相片順序是豎著排成一列,類似於Android組件ListView 中內容的相片順序,但我想要的效果是每個menu item排成一個方陣,類似於GridView的那種排列,在網路上找了半天,找到了一個有些協助的文章,如下:
http://www.cnblogs.com/salam/archive/2011/04/04/2005329.html
我建立一個工程,照著做,發現預設樣式還是改不了,仍然顯示不了menu item的表徵圖,仍然排成一列,用自訂的方法倒是可以改變menu的樣式,但那樣做有點麻煩,我把作者例子下載下來一跑,結果發現他確實改變了menu的預設樣式,然後我知道了,我肯定忽略了一些地方,我幾乎比對了我自己的工程和作者的工程的每個檔案,然後把它們都改成一樣的,結果發現還是沒能改變menu的外觀。
最後我注意到,為什麼我自己建立一個工程,裡面Activity的背景是白色的,而作者的那些Activity背景是黑色的,於是我修改了AndroidManifest.xml 檔案
把如下代碼:
<application android:name="MyApp" android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" >
改為
<application android:name="MyApp" android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name">
再次運行我的工程,結果背景變黑色了,每個menu item 的表徵圖也可以顯示出來了,但是它們依然排成一列
我意識到我之前忽略的地方正是AndroidManifest.xml 檔案的不同
我又再次比對兩個檔案中的不同,找到了這一處:
我的
<uses-sdk android:minSdkVersion="8" android:targetSdkVersion="17"/>
別人的
<uses-sdk android:minSdkVersion="3" />
然後我也改成
<uses-sdk android:minSdkVersion="8" />
重新運行我的工程,結果每個menu item就排成方陣了