Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發實例 >> Android 中文API (92) —— MenuInflater

Android 中文API (92) —— MenuInflater

編輯:Android開發實例

前言

  本章內容是android.view.MenuInflater,版本為Android 2.3 r1,翻譯來自"獨鍆躌踄"。
 

 

 

正文

  一、結構

 

public class MenuInflater extends Object

        

java.lang.Object

android.view.MenuInflater

 

 

直接子類

TabActivity

 

 

 

  二、概述

 

    

 

  這個類是用來實例化菜單XML文件成菜單對象。

  由於性能的原因,由於程序創建時候就加載一些預處理XML文件,Menu過多就造成很重的負擔。因此,這是目前無法在運行時使用多於一個XmlPullParser的xml文件去使用MenuInflater,它只能使用一個XmlPullParser返回的編譯過的資源(R.某些文件)

 

 

  三、構造函數

 

           public MenuInflater (Context context)

  構造填充(inflater)一個菜單

參見

getMenuInflater()

 

 

  四、公共方法

 

           public void inflate (int menuRes, Menu menu)

  菜單層次從一個指定的xml資源去填充,如果有錯誤會拋擲InflateException

  參數

  menuRes         要加載XML布局文件中的資源ID(例如R.menu.main_activity

  menu       要填充的菜單,這些項目和子菜單就被添加到要填充菜單中

 

 

  五、補充

 

  示例代碼

  新建一個項目,項目文件列表

      

      MenuInfalterTest.java

public class MenuInflaterTest extends Activity {
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
    }

    public boolean onCreateOptionsMenu(Menu menu) {
        // 獲取當前的菜單
        MenuInflater inflater = getMenuInflater();
        // 填充菜單
        inflater.inflate(R.menu.option_menu, menu);
        return true;
    }

    /**
     * 對菜單點擊事件處理
     */
    public boolean onOptionsItemSelected(MenuItem item) {
        switch (item.getItemId()) {
        case R.id.menu_add:
            break;
        case R.id.menu_wallaper:
            break;
        case R.id.menu_search:
            break;
        case R.id.menu_setting:
            showSettings();
            break;
        }
        return super.onOptionsItemSelected(item);
    }

    /**
     * 顯示設置選項
     */
    private void showSettings() {
        Intent settings = new Intent
        (android.provider.Settings.ACTION_SETTINGS);
        settings.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK 
                | Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED);
        startActivity(settings);
    }
}
}

 

      Main.xml

 

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
<TextView  
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:text="@string/hello"
    />
</LinearLayout>

 

      Option_menu.xml <?xml version="1.0" encoding="utf-8"?>  
<menu xmlns:android="http://schemas.android.com/apk/res/android">  
    <item android:id="@+id/menu_add"  
        android:title="Add"  
        android:icon="@android:drawable/ic_menu_add"/>  
     <item android:id="@+id/menu_wallaper"  
        android:title="Wallpaper"  
        android:icon="@android:drawable/ic_menu_gallery"/>  
    <item  android:id="@+id/menu_search"  
        android:title="Search"  
        android:icon="@android:drawable/ic_search_category_default"/>  
    <item  android:id="@+id/menu_setting"  
        android:title="Settings"  
      android:icon="@android:drawable/ic_menu_preferences"/>
</menu> 

 

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved