您的位置:首页 > 运维架构

Menu 菜单之OptionsMenu

2015-07-26 14:45 489 查看
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);
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: