Menu 菜單之OptionsMenu

1.菜單的分類
 1.1 Options menu 選項菜單  功能主要針對activity
   <menu xmlns:android="http://schemas.android.com/apk/res/android" >
       <group>  可選項
         <item>
         </item>
       </group>
   </menu>
  子菜單  item標籤的中間嵌套menu標籤
  1.子菜單不能顯示圖標

  2.子菜單隻能有一級



1.2 我們也可以在代碼中添加


2,我們在佈局中添加menu


<menu xmlns:android="http://schemas.android.com/apk/res/android" >

    <item
        android:id="@+id/action_settings"
        android:orderInCategory="100"
        android:showAsAction="never"
        android:title="@string/action_settings"/>
    <item
        android:id="@+id/action_add"
        android:icon="@drawable/ic_launcher"
        android:orderInCategory="1"
        android:showAsAction="never"
        android:title="添加"/>
<!-- 
   android:id="@+id/action_add"   設置menuitem的唯一的標示資源id
   android:icon="@drawable/ic_launcher" 設置menuitem的圖標
   android:title="添加" 設置menuitem的每一項中的文本內容
   android:orderInCategory="100" 設置菜單的顯示順序  一般會按照值的生序排列
 -->
</menu>

代碼的寫法:
package com.qianfeng.optionsmenu;

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.Toast;

public class MainActivity extends Activity {

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
	}
	/**
	 * 當選項菜單被創建時回調的方法
	 */
	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		//獲取MenuInflater對象然後調用加載xml文件的inflate方法  
		getMenuInflater().inflate(R.menu.main, menu);
		/*第一個參數標示菜單項的分組id
		 * 第二個參數 表示菜單項的資源id
		 * 第三個參數 表示菜單項的顯示順序
		 * 第四個參數 表示菜單的標題
		 */
		menu.add(Menu.NONE, 2, 3, "刪除");
		menu.add(Menu.NONE, 1, 0, "修改");
		return true;
	}
	/**
	 * 當選項菜單中的某一項被點擊的時候回調的
	 * 選項菜單中的每一項在代碼中都是MenuItem對象
	 */
	@Override
	public boolean onOptionsItemSelected(MenuItem item) {
		switch (item.getItemId()) {//獲取當前選擇的菜單項的id
		case R.id.action_add:
			Toast.makeText(MainActivity.this,item.getTitle(), Toast.LENGTH_SHORT).show();
			break;
		case 2:
			Toast.makeText(MainActivity.this,item.getTitle(), Toast.LENGTH_SHORT).show();
			break;
		}
		return super.onOptionsItemSelected(item);
	}

}















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