最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Android編程之菜單的實現方法實例詳解

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

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

Options Menu 當用戶按下menu button按鈕時顯示的菜單
Context Menu 當用戶長久按住屏幕,被注冊顯示上下文菜單的視圖時顯示的菜單
Submenu    當用戶按下一個菜單的某個選項時彈出的子菜單

以上三種菜單也就是我們經常所說的:選項菜單,上下文菜單和子菜單。

一.上下文菜單

1. 實現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);
  // 或者用代碼來實現菜單添加
  menu.setHeaderTitle("長按菜單-ContextMenu");
  menu.add(0, 0, 0, "彈出長按菜單0");
  menu.add(0, 1, 0, "彈出長按菜單1");
}

2. 當菜單某個選項被點擊時調用該方法

@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. 當上下文菜單關閉時調用的方法

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

對于這樣已經定義好的上下文菜單,總得注冊到一些控件上,這樣等我們長按住這個控件時,才能跳出上下文菜單。那該怎么把上下文菜單注冊到某些控件上呢,第一種是實現ListView的一個監(jiān)聽器
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. */
 }
});

或者是直接在本活動調用registerForContextMenu(this.listView1);這里是注冊到一個ListView上了,這樣長按ListView就能跳出上下文菜單了。

二. 選項菜單

相比而言就簡單了

一樣道理只需實現onCreateoptionsMenu,onOptionsItemSelected和onOptionsMenuClosed就ok了

三. 子菜單

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

@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);
  //或者用代碼來實現菜單添加
  menu.setHeaderTitle("長按菜單-ContextMenu");
  menu.add(0, 0, 0, "彈出長按菜單0");
  menu.add(0, 1, 0, "彈出長按菜單1");
  //在這里就可以添加實現子菜單的代碼
  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");
}

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

希望本文所述對大家Android程序設計有所幫助。

相關文章

  • android dialog根據彈窗等級排序顯示的示例代碼

    android dialog根據彈窗等級排序顯示的示例代碼

    這篇文章主要介紹了android dialog根據彈窗等級排序顯示,本文通過示例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-10-10
  • 深入Android開發(fā)FAQ的詳解

    深入Android開發(fā)FAQ的詳解

    本篇文章是對Android開發(fā)FAQ進行了詳細的分析介紹,需要的朋友參考下
    2013-05-05
  • 淺談Android中Drawable使用知識總結

    淺談Android中Drawable使用知識總結

    本篇文章主要介紹了淺談Android中Drawable使用知識總結,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-12-12
  • Android仿新浪微博自定義ListView下拉刷新(4)

    Android仿新浪微博自定義ListView下拉刷新(4)

    這篇文章主要為大家詳細介紹了Android仿新浪微博自定義ListView下拉刷新,重點介紹了Adapter的詳細代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-11-11
  • Android中Dialog自定義上下文花式菜單

    Android中Dialog自定義上下文花式菜單

    這篇文章主要為大家詳細介紹了Android中Dialog自定義上下文花式菜單,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-10-10
  • Android內部存儲與外部存儲的示例講解

    Android內部存儲與外部存儲的示例講解

    內部存儲和外部存儲的概念隨著Android版本的更新也在發(fā)生不斷的變化。最早的內部存儲指的是系統(tǒng)自帶的ROM存儲,外部存儲指的是外置的Sdcard或者通過OTG掛在的USB存儲
    2023-03-03
  • Android Camera變焦編程步驟

    Android Camera變焦編程步驟

    這篇文章主要介紹了Android Camera變焦編程步驟,本文講解了添加Camera權限、判斷是否支持變焦、修改焦距等步驟,并分別給出了操作代碼,需要的朋友可以參考下
    2015-04-04
  • Android 微信小視頻錄制功能實現詳細介紹

    Android 微信小視頻錄制功能實現詳細介紹

    這篇文章主要介紹了Android 微信小視頻錄制功能實現詳解的相關資料,這里提供了具體的實現思路及代碼,需要的朋友可以參考下
    2016-11-11
  • Android SQLite數據庫加密的操作方法

    Android SQLite數據庫加密的操作方法

    因為Android自帶的SQLite數據庫本身是沒有實現加密的,那我們如何實現對數據庫的加密呢?今天通過本文給大家介紹下Android SQLite數據庫加密的操作方法,一起看看吧
    2021-09-09
  • Android動畫之3D翻轉效果實現函數分析

    Android動畫之3D翻轉效果實現函數分析

    Android中的翻轉動畫效果的實現,Android中并沒有提供直接做3D翻轉的動畫,所以關于3D翻轉的動畫效果需要我們自己實現,那么我們首先來分析一下Animation 和 Transformation,感興趣的朋友可以了解下啊
    2013-01-01

最新評論

辽中县| 乾安县| 岑巩县| 永昌县| 建宁县| 苏州市| 文山县| 曲阜市| 和平区| 柯坪县| 景泰县| 晋州市| 石狮市| 唐山市| 安国市| 天水市| 莱阳市| 木里| 梁平县| 会宁县| 余干县| 清河县| 静宁县| 博乐市| 渭南市| 西吉县| 宁陕县| 崇州市| 玉门市| 琼海市| 清徐县| 南投县| 灵宝市| 兴海县| 彝良县| 彩票| 青神县| 惠水县| 汾西县| 永春县| 盐池县|