Android之在活動中使用Menu

來源:互聯網
上載者:User

標籤:show   xmlns   inf   col   toast   flat   select   als   允許   

手機螢幕非常有限,因此要充分利用螢幕空間。Android提供了一種菜單的方式,可以讓菜單得到充分地展示,而且還不佔用任何螢幕空間。

那怎麼建立菜單呢?

  1. 在 res 目錄下建立 Menu 檔案夾,在檔案夾下再建一個叫 main 的菜單檔案。.

  2. 在 main.xml 中添加如下代碼:   

1 <menu 2     xmlns:android="http://schemas.android.com/apk/res/android">3     <item4         android:id="@+id/add_item"5         android:title="Add"/>6     <item7         android:id="@+id/remove_item"8         android:title="Remove"/>9 </menu>
View Code

  在這裡建立了兩個功能表項目,其中<item>標籤就是用來建立具體的某一個功能表項目,通過 id 給這個功能表項目指定一個唯一的標識符, title 給這個功能表項目指定一個唯一的名稱。

  3. 在功能表項目所在的活動中重寫 onCreateOptionsMenu() 方法(重寫方法快速鍵 Ctrl+O)

1 public boolean onCreateOptionsMenu(Menu menu){2      getMenuInflater().inflate(R.menu.main,menu);3      return true;                4 }
View Code

    通過 getMenuInflater() 方法能夠得到所在Activity的 MenuInflater 對象,再調用它的 inflate() 方法來設定menu XML裡的 menu 作為該Activity的菜單,就可以給當前活動建立菜單了。

    inflate()  方法接受兩個參數,

      第一個參數用於指定通過哪一個資源檔來建立菜單;

      第二個參數用於指定功能表項目將添加到哪一個 Menu 對象中,這裡可以直接使用方法中傳入的 menu 參數。

    然後這個方法返回 true,表示允許建立的菜單顯示出來;如果返回了 false,建立的菜單將無法顯示。

  4. 當然菜單定義出來不是為了看的,我們可以給菜單定義響應事件。

    重寫 onOptionsItemSelected()方法:

 1 public boolean onOptionsItemSelected(MenuItem item){ 2     switch(item.getItemId){ 3          case R.id.add_item: 4                Toast.makeText(this,"You clicked Add",Toast.LENGTH_SHORT).show(); 5                break; 6          case R.id.remove_item: 7                Toast.makeText(this,"You clicked Remove",Toast.LENGTH_SHORT).show(); 8                break; 9           default:10     }      11      return true;12 }        
View Code

    通過調用item.getItemId() 來判斷點擊的是哪一個功能表項目。

  添加上菜單後重新運行程式,會發現標題列右側有三個點的符號,這就是功能表按鈕。

 

Android之在活動中使用Menu

相關文章

聯繫我們

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