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);
}
}