Android編程 – Option Menu選項菜單&& Context Menu操作功能表基本使用

來源:互聯網
上載者:User

我發現我在學習每一個Android介面控制項的時候花的時間都比較多,因為是初學,可能學習方法和方式還有待改進。

本篇記錄選項菜單和操作功能表的基本實現和用法。

選項菜單即按下手機硬按鍵MENU鍵彈出的底部菜單,最多同時顯示6個小項目,更多將顯示為MORE..點擊到子功能表

//添加功能表項目

@Overridepublic boolean onCreateOptionsMenu(Menu menu) {// TODO Auto-generated method stubmainmenu = menu;mainmenu.add(0, 1, Menu.NONE, "菜單1").setIcon(R.drawable.icon);mainmenu.add(0, 2, Menu.NONE, "菜單2");mainmenu.add(0, 3, Menu.NONE, "菜單3");mainmenu.add(1, 4, Menu.NONE, "菜單4");mainmenu.add(1, 5, Menu.NONE, "菜單5");mainmenu.add(1, 6, Menu.NONE, "菜單6");// add的第一個參數是group號,可制訂點擊按鈕對某組全體控制隱藏顯示return super.onCreateOptionsMenu(menu);}

//實現菜單行為

@Overridepublic boolean onOptionsItemSelected(MenuItem item) {// TODO Auto-generated method stubsetTitle(item.getItemId() + item.getTitle().toString());return super.onOptionsItemSelected(item);}

//隱藏某群組菜單函數,寫在一個按鈕的監聽函數中

private OnClickListener TOGGLE_LISTEN = new OnClickListener() {public void onClick(View v) {if (mIsGroupVisible == true) {mainmenu.setGroupVisible(1, false);//隱藏組號1的菜單群mIsGroupVisible = false;} else {mainmenu.setGroupVisible(1, true);mIsGroupVisible = true;}}};

//在onCreat函數中註冊要接受長按響應操作功能表

//為兩個文字框註冊操作功能表        this.registerForContextMenu(findViewById(R.id.longan2));        this.registerForContextMenu(findViewById(R.id.longan));

//添加長按功能表項目

@Overridepublic void onCreateContextMenu(ContextMenu menu, View v,ContextMenuInfo menuInfo) {// TODO Auto-generated method stubswitch(v.getId()){case R.id.longan://if(menu.hasVisibleItems())return;menu.add(2, 11, Menu.NONE, "菜單1");SubMenu master = menu.addSubMenu(4, 41, 1, "Master..");//SubMenu是子功能表,有且只有一層,可以接受點擊master.add("wt1");master.add("wt2");master.add("wt3");menu.add(2, 12, Menu.NONE, "菜單2");menu.add(2, 13, Menu.NONE, "菜單3");menu.add(2, 14, Menu.NONE, "菜單4");break;case R.id.longan2:menu.add(3, 21, Menu.NONE, "菜單21");menu.add(3, 22, Menu.NONE, "菜單22");break;}super.onCreateContextMenu(menu, v, menuInfo);}

//菜單響應函數,與前面option menu類似

@Overridepublic boolean onContextItemSelected(MenuItem item) {// TODO Auto-generated method stubsetTitle(item.getTitle());return super.onContextItemSelected(item);}


聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.