菜單創(chuàng)建的兩種方式:
成都創(chuàng)新互聯(lián)公司專業(yè)為企業(yè)提供武都網(wǎng)站建設(shè)、武都做網(wǎng)站、武都網(wǎng)站設(shè)計、武都網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計與制作、武都企業(yè)網(wǎng)站模板建站服務(wù),10年武都做網(wǎng)站經(jīng)驗,不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡(luò)服務(wù)。1、在xml文件中創(chuàng)建菜單:
具體代碼:
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
tools:context="com.xunfang.menucreate.MainActivity" >
//此處創(chuàng)建子菜單
<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>
這種情況下創(chuàng)建菜單時,需要用到item標簽,創(chuàng)建一個菜單選項,就必須用到一個item
當需要創(chuàng)建子菜單的時候:如有背景色的部分那樣,在主菜單下創(chuàng)建子菜單,需要在item中嵌套一個menu標簽,然后在menu標簽中寫子菜單,每一個子菜單還是要寫在item標簽中。
2、動態(tài)創(chuàng)建菜單:
public boolean onCreateOptionsMenu(Menu menu) {
//給文件創(chuàng)建子菜單
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,"重構(gòu)") ;
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,"導(dǎo)航") ;
menu.add(Menu.FIRST + 2,6,3,"搜索") ;
return true;
}
上面add()方法中的四個參數(shù)分別為:第一個參數(shù)表示處于同一個組中
第二個參數(shù)表示一個唯一的id
第三個參數(shù)是一個id,表示在菜單中菜單項顯示的順序
第四個參數(shù)表示顯示的文本
注:給菜單項添加圖標:
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();
}
}
有背景的部分為代碼關(guān)鍵部分,上面這個方法是我自己添加的一個方法,在添加圖標的時候只需要調(diào)用這個方法就行了。
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。
文章標題:android菜單創(chuàng)建的兩種方式和菜單項添加圖標-創(chuàng)新互聯(lián)
文章分享:http://aaarwkj.com/article30/dsphpo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供標簽優(yōu)化、全網(wǎng)營銷推廣、關(guān)鍵詞優(yōu)化、移動網(wǎng)站建設(shè)、微信公眾號、品牌網(wǎng)站設(shè)計
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容