菜單創建的兩種方式:
公司主營業務:成都網站設計、網站建設、移動網站開發等業務。幫助企業客戶真正實現互聯網宣傳,提高企業的競爭能力。創新互聯建站是一支青春激揚、勤奮敬業、活力青春激揚、勤奮敬業、活力澎湃、和諧高效的團隊。公司秉承以“開放、自由、嚴謹、自律”為核心的企業文化,感謝他們對我們的高要求,感謝他們從不同領域給我們帶來的挑戰,讓我們激情的團隊有機會用頭腦與智慧不斷的給客戶帶來驚喜。創新互聯建站推出衡東免費做網站回饋大家。
1、在xml文件中創建菜單:
具體代碼:
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
tools:context="com.xunfang.menucreate.MainActivity" >
//此處創建子菜單
<item
android:id="@+id/sms"
android:icon="@drawable/sms"
android:orderInCategory="100"
android:showAsAction="never"
android:title="短信">
<menu>
<item
android:id="@+id/smsfamily"
android:icon="@drawable/smsalt"
android:orderInCategory="100"
android:showAsAction="never"
android:title="家庭短信"/>
<item
android:id="@+id/smscompany"
android:icon="@drawable/twitteralt"
android:orderInCategory="100"
android:showAsAction="never"
android:title="公司短信"/>
</menu>
</item>
<item
android:id="@+id/camera"
android:icon="@drawable/camera"
android:orderInCategory="100"
android:showAsAction="never"
android:title="照相機"/>
</menu>
這種情況下創建菜單時,需要用到item標簽,創建一個菜單選項,就必須用到一個item
當需要創建子菜單的時候:如有背景色的部分那樣,在主菜單下創建子菜單,需要在item中嵌套一個menu標簽,然后在menu標簽中寫子菜單,每一個子菜單還是要寫在item標簽中。
2、動態創建菜單:
public boolean onCreateOptionsMenu(Menu menu) {
//給文件創建子菜單
SubMenu sub = menu.addSubMenu(Menu.FIRST, 1, 1, "文件") ;
sub.add(Menu.FIRST+3, 10, 1, "隱藏組3") ;
sub.add(Menu.FIRST+3, 11, 2, "顯示組3") ;
menu.add(Menu.FIRST,2,2,"編輯") ;
sub.setIcon(R.drawable.browser) ;
sub.setHeaderIcon(R.drawable.browser) ;
MenuItem refactor = menu.add(Menu.FIRST + 1,3,10,"重構") ;
refactor.setIcon(R.drawable.clock) ;
MenuItem source = menu.add(Menu.FIRST + 1,4,6,"源碼") ;
source.setIcon(R.drawable.sms) ;
menu.add(Menu.FIRST + 2 ,5,5,"導航") ;
menu.add(Menu.FIRST + 2,6,3,"搜索") ;
return true;
}
上面add()方法中的四個參數分別為:第一個參數表示處于同一個組中
第二個參數表示一個唯一的id
第三個參數是一個id,表示在菜單中菜單項顯示的順序
第四個參數表示顯示的文本
注:給菜單項添加圖標:
private void setIconVisible(Menu menu) {
try {
Class clazz = Class
.forName("com.android.internal.view.menu.MenuBuilder");
Method m = clazz.getDeclaredMethod("setOptionalIconsVisible",
boolean.class);
m.setAccessible(true);
m.invoke(menu, true);
} catch (Exception e) {
e.printStackTrace();
}
}
有背景的部分為代碼關鍵部分,上面這個方法是我自己添加的一個方法,在添加圖標的時候只需要調用這個方法就行了。
分享名稱:android菜單創建的兩種方式和菜單項添加圖標
文章源于:http://m.2m8n56k.cn/article48/jjdchp.html
成都網站建設公司_創新互聯,為您提供微信小程序、服務器托管、移動網站建設、軟件開發、電子商務、網站制作
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:[email protected]。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯