欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Android編程之菜單的實(shí)現(xiàn)方法實(shí)例詳解

 更新時(shí)間:2015年11月23日 15:33:04   作者:思考的蘆葦  
這篇文章主要介紹了Android編程之菜單的實(shí)現(xiàn)方法,結(jié)合實(shí)例形式較為詳細(xì)的分析了上下文菜單、選項(xiàng)菜單和子菜單的實(shí)現(xiàn)技巧,需要的朋友可以參考下

本文實(shí)例講述了Android編程之菜單的實(shí)現(xiàn)方法。分享給大家供大家參考,具體如下:

Options Menu 當(dāng)用戶按下menu button按鈕時(shí)顯示的菜單
Context Menu 當(dāng)用戶長(zhǎng)久按住屏幕,被注冊(cè)顯示上下文菜單的視圖時(shí)顯示的菜單
Submenu    當(dāng)用戶按下一個(gè)菜單的某個(gè)選項(xiàng)時(shí)彈出的子菜單

以上三種菜單也就是我們經(jīng)常所說(shuō)的:選項(xiàng)菜單,上下文菜單和子菜單。

一.上下文菜單

1. 實(shí)現(xiàn)onCreateContextMenu即可創(chuàng)建該菜單

@Override 
 public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) { 
  // TODO Auto-generated method stub 
  super.onCreateContextMenu(menu, v, menuInfo);
  // 加載已定義好的布局menu.xml
  MenuInflater inflater = getMenuInflater();
  inflater.inflate(R.layout.menu, menu);
  // 或者用代碼來(lái)實(shí)現(xiàn)菜單添加
  menu.setHeaderTitle("長(zhǎng)按菜單-ContextMenu");
  menu.add(0, 0, 0, "彈出長(zhǎng)按菜單0");
  menu.add(0, 1, 0, "彈出長(zhǎng)按菜單1");
}

2. 當(dāng)菜單某個(gè)選項(xiàng)被點(diǎn)擊時(shí)調(diào)用該方法

@Override
 public boolean onContextItemSelected(MenuItem item) {
  // TODO Auto-generated method stub
  AdapterContextMenuInfo infor = (AdapterContextMenuInfo)item.getMenuInfo();
  switch (item.getItemId()) {
  case R.id.help:
    return true;
  case R.id.addnew:
  }
}

3. 當(dāng)上下文菜單關(guān)閉時(shí)調(diào)用的方法

@Override
  public void onContextMenuClosed(Menu menu) {
  // TODO Auto-generated method stub
  super.onContextMenuClosed(menu);
}

對(duì)于這樣已經(jīng)定義好的上下文菜單,總得注冊(cè)到一些控件上,這樣等我們長(zhǎng)按住這個(gè)控件時(shí),才能跳出上下文菜單。那該怎么把上下文菜單注冊(cè)到某些控件上呢,第一種是實(shí)現(xiàn)ListView的一個(gè)監(jiān)聽(tīng)器
listview.setOnCreateContextMenuListener(new OnCreateContextMenuListener() {  
但是上下文菜單也要在該方法里創(chuàng)建.

public void onCreateContextMenu(ContextMenu conMenu, View view , ContextMenuInfo info) {
  conMenu.setHeaderTitle("ContextMenu");
  conMenu.add(0, 0, 0, "Delete this favorite!");
  /* Add as many context-menu-options as you want to. */
 }
});

或者是直接在本活動(dòng)調(diào)用registerForContextMenu(this.listView1);這里是注冊(cè)到一個(gè)ListView上了,這樣長(zhǎng)按ListView就能跳出上下文菜單了。

二. 選項(xiàng)菜單

相比而言就簡(jiǎn)單了

一樣道理只需實(shí)現(xiàn)onCreateoptionsMenu,onOptionsItemSelected和onOptionsMenuClosed就ok了

三. 子菜單

按理說(shuō)子菜單也不難,確實(shí)如此,當(dāng)實(shí)現(xiàn)了選項(xiàng)菜單,或上下文菜單(在上下文菜單里也可以實(shí)現(xiàn)子菜單,這里我們就舉這樣的例子),則子菜單的實(shí)現(xiàn)便是水到渠成。如上面的代
碼:

@Override
 public void onCreateContextMenu(ContextMenu menu, View v,
  ContextMenuInfo menuInfo) {
  // TODO Auto-generated method stub
  super.onCreateContextMenu(menu, v, menuInfo);
  //加載已定義好的布局menu.xml
  MenuInflater inflater = getMenuInflater();
  inflater.inflate(R.layout.menu, menu);
  //或者用代碼來(lái)實(shí)現(xiàn)菜單添加
  menu.setHeaderTitle("長(zhǎng)按菜單-ContextMenu");
  menu.add(0, 0, 0, "彈出長(zhǎng)按菜單0");
  menu.add(0, 1, 0, "彈出長(zhǎng)按菜單1");
  //在這里就可以添加實(shí)現(xiàn)子菜單的代碼
  int base = menu.FIRST + 100;
  SubMenu sm = menu.addSubMenu(base, base + 1, Menu.NONE, "submenu");
  sm.add(base, base + 2, base + 2, "sub item1");
  sm.add(base, base + 3, base + 3, "sub item2");
}

這樣子菜單便也實(shí)現(xiàn)了,對(duì)于它的單擊事件,只要在相應(yīng)的選項(xiàng)菜單或者上下文菜單的偵聽(tīng)器里照樣判斷執(zhí)行就OK了。

希望本文所述對(duì)大家Android程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • Android中創(chuàng)建快捷方式代碼實(shí)例

    Android中創(chuàng)建快捷方式代碼實(shí)例

    這篇文章主要介紹了Android中創(chuàng)建快捷方式代碼實(shí)例,本文分為三個(gè)步驟實(shí)現(xiàn),并分別給出對(duì)應(yīng)實(shí)現(xiàn)代碼,需要的朋友可以參考下
    2015-04-04
  • 詳解Android的MVVM框架 - 數(shù)據(jù)綁定

    詳解Android的MVVM框架 - 數(shù)據(jù)綁定

    這篇文章主要介紹了詳解Android的MVVM框架 - 數(shù)據(jù)綁定,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-05-05
  • Android實(shí)現(xiàn)便于批量操作可多選的圖片ListView實(shí)例

    Android實(shí)現(xiàn)便于批量操作可多選的圖片ListView實(shí)例

    這篇文章主要介紹了Android實(shí)現(xiàn)便于批量操作可多選的圖片ListView功能實(shí)現(xiàn)方法,涉及ListView針對(duì)多圖操作的相關(guān)技巧,需要的朋友可以參考下
    2016-08-08
  • Android中button點(diǎn)擊后字體的變色效果

    Android中button點(diǎn)擊后字體的變色效果

    button的點(diǎn)擊效果無(wú)疑是非常簡(jiǎn)單的,接下來(lái)通過(guò)本文給大家介紹下如何添加button點(diǎn)擊的字體顏色變化效果,感興趣的朋友一起看看吧
    2016-10-10
  • Kotlin實(shí)現(xiàn)多函數(shù)接口的簡(jiǎn)化調(diào)用

    Kotlin實(shí)現(xiàn)多函數(shù)接口的簡(jiǎn)化調(diào)用

    這篇文章主要為大家詳細(xì)介紹了Kotlin實(shí)現(xiàn)多函數(shù)接口的簡(jiǎn)化調(diào)用,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-06-06
  • Android實(shí)現(xiàn)帶頭像的用戶注冊(cè)頁(yè)面

    Android實(shí)現(xiàn)帶頭像的用戶注冊(cè)頁(yè)面

    這篇文章主要介紹了Android實(shí)現(xiàn)帶頭像的用戶注冊(cè)頁(yè)面的相關(guān)資料,介紹的非常詳細(xì),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2016-06-06
  • Android實(shí)現(xiàn)計(jì)步傳感器功能

    Android實(shí)現(xiàn)計(jì)步傳感器功能

    這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)計(jì)步傳感器功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-01-01
  • Android資源文件與層次式導(dǎo)航超詳細(xì)講解

    Android資源文件與層次式導(dǎo)航超詳細(xì)講解

    這篇文章主要介紹了Android資源文件與層次式導(dǎo)航,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧
    2022-12-12
  • Android開(kāi)發(fā)教程之shape和selector的結(jié)合使用

    Android開(kāi)發(fā)教程之shape和selector的結(jié)合使用

    shape和selector是Android UI設(shè)計(jì)中經(jīng)常用到的,比如我們要自定義一個(gè)圓角Button,點(diǎn)擊Button有些效果的變化,就要用到shape和selector,接下來(lái)通過(guò)本文給大家介紹Android開(kāi)發(fā)教程之shape和selector的結(jié)合使用,感興趣的朋友一起學(xué)習(xí)吧
    2016-01-01
  • Android繪制儀表盤指針刻度

    Android繪制儀表盤指針刻度

    這篇文章主要為大家詳細(xì)介紹了Android繪制儀表盤指針刻度,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-05-05

最新評(píng)論