Android之在活動中使用Menu

手機屏幕很是有限,所以要充分利用屏幕空間。Android提供了一種菜單的方式,可讓菜單獲得充分地展現,並且還不佔用任何屏幕空間。android

那怎麼建立菜單呢?this

  1. 在 res 目錄下新建 Menu 文件夾,在文件夾下再建一個叫 main 的菜單文件。.spa

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

 1 <?xml version="1.0" encoding="utf-8"?>
 2 <menu 
 3     xmlns:android="http://schemas.android.com/apk/res/android">
 4     <item
 5         android:id="@+id/add_item"
 6         android:title="Add"/>
 7     <item
 8         android:id="@+id/remove_item"
 9         android:title="Remove"/>
10 </menu>

  在這裏建立了兩個菜單項,其中<item>標籤就是用來建立具體的某一個菜單項,經過 id 給這個菜單項指定一個惟一的標識符, title 給這個菜單項指定一個惟一的名稱。xml

  3. 在菜單項所在的活動中重寫 onCreateOptionsMenu() 方法(重寫方法快捷鍵 Ctrl+O)對象

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

    經過 getMenuInflater() 方法可以獲得所在Activity的 MenuInflater 對象,再經過 MenuInflater 對象調用它的 inflate() 方法來設置menu XML裏的 menu 做爲該Activity的菜單,就能夠給當前活動建立菜單了。blog

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

      第一個參數用於指定經過哪個資源文件來建立菜單;utf-8

      第二個參數用於指定菜單項將添加到哪個 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 } 

    經過調用item.getItemId() 來判斷點擊的是哪個菜單項。

  添加上菜單後從新運行程序,會發現標題欄右側有三個點的符號,這就是菜單按鈕。

 

 如有錯誤之處,歡迎指正。謝謝!

相關文章
相關標籤/搜索