溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Android開發(fā):Menu選項(xiàng)菜單

發(fā)布時(shí)間:2020-06-03 17:38:51 來源:網(wǎng)絡(luò) 閱讀:645 作者:斯萊特林 欄目:移動(dòng)開發(fā)

創(chuàng)建選項(xiàng)菜單的步驟:

1、覆蓋Activity的onCreateOptionsMenu(Menu menu)函數(shù)

2、調(diào)用menu的add()方法添加菜單項(xiàng)(MenuItem),調(diào)用MenuItem的setIcon()方法為菜單設(shè)置圖標(biāo)


=================我是一條分割線==========================================

public boolean onCreateOptionsMenu (Menu menu)

返回值:布爾值,表示是否顯示該函數(shù)中設(shè)置的菜單

參數(shù):Menu對(duì)象

onCreateOptionsMenu函數(shù)僅在第一次使用菜單時(shí)被調(diào)用一次

在這個(gè)函數(shù)可以通過Menu對(duì)象的add()方法添加菜單子項(xiàng)


重載:

1.

public abstract MenuItem add (CharSequence title)

指定菜單上的顯示文字

這種方式添加的菜單是默認(rèn)的垂直方式排列

public boolean onCreateOptionsMenu(Menu menu)
{
    menu.add("菜單");
    menu.add("菜單2");
     return true;
}


2.

public abstract MenuItem add (int groupId, int itemId, int order, int titleRes)

groudId:組ID,用以批量地對(duì)菜單子項(xiàng)進(jìn)行處理和排序

itemId:子項(xiàng)ID,是每一個(gè)菜單子項(xiàng)的唯一標(biāo)識(shí)

order:指定菜單子項(xiàng)在選項(xiàng)菜單中的排列順序

titlerRes: 菜單標(biāo)題的引用


3.

public abstract MenuItem add (int titleRes)

titlerRes: 菜單標(biāo)題的引用,通過string.xml中添加

<string name="titileRes">TitleRes</string>


public boolean onCreateOptionsMenu(Menu menu)
{
      menu.add(R.string.titileRes);
      return true;
}


4.

public abstract MenuItem add (int groupId, int itemId, int order, CharSequence title)

這個(gè)是最常用的方法

groudId:組ID,用以批量地對(duì)菜單子項(xiàng)進(jìn)行處理和排序

itemId:子項(xiàng)ID,是每一個(gè)菜單子項(xiàng)的唯一標(biāo)識(shí)

order:指定菜單子項(xiàng)在選項(xiàng)菜單中的排列順序

titler: 菜單標(biāo)題

public boolean onCreateOptionsMenu(Menu menu)
{
   menu.add(0, ITEM, 0, "開始");
   menu.add(0, ITME2, 0, "退出");
   return true;
}


設(shè)置圖標(biāo)

itemAdd.setIcon(R.drawable.p1);


================還是一條分割線====================================


當(dāng)菜單被選擇時(shí),可以通過覆蓋Activity的onOptionsItemSeleted()方法來響應(yīng)事件


于是可以醬紫,例子

public class ListTest extends Activity {
    private static final int click1 = Menu.FIRST;
    private static final int click2 = Menu.FIRST + 1;
      
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
    }
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        super.onCreateOptionsMenu(menu);
        menu.add(0,click1,0,"戳我");
        menu.add(0,click2,0,"還戳我");
        return true;
    }
    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // TODO Auto-generated method stub
        switch (item.getItemId()) {
           case click1:
             setTitle("被戳了一下!");
             break;
           
           case click2:
             setTitle("又被戳了!");
             break;
           }
           return true;
    }  
}


向AI問一下細(xì)節(jié)
推薦閱讀:
  1. Python Menu
  2. shell-menu

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI