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#叫控件,這裏就採用這種叫法),代碼如下:


<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
              <item android:id="@+id/add_item"
                  android:title="添加一個menu"/>

              <item android:id="@+id/move_item"
                  android:title="移除一個menu"
                  />
</menu>

在Studio中是這樣顯示的:

      

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

 /*@ onCreateOptionsMenu
 * */
     public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.menu, menu);
        return true    ;
    }

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

public boolean onOptionsItemSelected(MenuItem item)
           {
               switch (item.getItemId())
               {
                   case R.id.add_item: //在menu文件中定義的ID
                       Toast.makeText(this,"彈出一個menu",Toast.LENGTH_SHORT).show();
                            break;
                   case  R.id.move_item://同上
                       Toast.makeText(this,"關閉一個menu",Toast.LENGTH_SHORT).show();
                   default:

                       break;
               }
               return  true;
           }

onOptionsItemSelected

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


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章