Menu建立菜單,menu建立

來源:互聯網
上載者:User

Menu建立菜單,menu建立

       菜單是使用者介面中最常見的元素之一,使用非常頻繁,在Android中,菜單被分為如下三種,選項菜單(OptionsMenu)、操作功能表(ContextMenu)和子功能表(SubMenu),今天這講是OptionsMenu 

  一、概述:這裡偷懶,從網上引用的,非原創。引用出處:ForrestWoo

  public boolean onCreateOptionsMenu(Menu menu):使用此方法調用OptionsMenu 。

  public boolean onOptionsItemSelected(MenuItem item):選中功能表項目後發生的動作。

  public void onOptionsMenuClosed(Menu menu):菜單關閉後發生的動作。

  public boolean onPrepareOptionsMenu(Menu menu):選項菜單顯示之前onPrepareOptionsMenu方法會被調用,你可以用此方法來根據打當時的情況調整菜單。

  public boolean onMenuOpened(int featureId, Menu menu):單開啟後發生的動作。

     首先我們先建立一個menu檔案,這裡用的是android studio,建立方式如下:

      1.

      2.

      3.建立完成後,在muen.xml中寫以下代碼,分別是建立兩個meun控制項(C#叫控制項,這裡就採用這種叫法),代碼如下:

              

1 <?xml version="1.0" encoding="utf-8"?>2 <menu xmlns:android="http://schemas.android.com/apk/res/android">3               <item android:id="@+id/add_item"4                   android:title="添加一個menu"/>5 6               <item android:id="@+id/move_item"7                   android:title="移除一個menu"8                   />9 </menu>

      在Studio中是這樣顯示的:

      

        4.接下來我們重寫OnCrateOptionsMenu()方法:代碼如下

          

1 /*@ onCreateOptionsMenu2 * */3     public boolean onCreateOptionsMenu(Menu menu) {4         getMenuInflater().inflate(R.menu.menu, menu);5         return true    ;6     }
View Code

        *通過getMenuInflater()方法得到對像,再調用inflate()來建立活動菜單,光有菜單是不夠的,我們要讓它顯示出來:添加以下代碼:

 

 1 public boolean onOptionsItemSelected(MenuItem item) 2            { 3                switch (item.getItemId()) 4                { 5                    case R.id.add_item: //在menu檔案中定義的ID 6                        Toast.makeText(this,"彈出一個menu",Toast.LENGTH_SHORT).show(); 7                             break; 8                    case  R.id.move_item://同上 9                        Toast.makeText(this,"關閉一個menu",Toast.LENGTH_SHORT).show();10                    default:11 12                        break;13                }14                return  true;15            }
onOptionsItemSelected

重寫onOptionsItemSelected方法,通過調用getItemId()方法來判斷點擊的是哪一個菜單。效果如下:

 

 

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.