通过xml加载菜单Menus

Android 菜单项创建与管理
本文介绍如何在 Android 应用中创建和管理菜单项,包括设置菜单项的属性如标题、图标等,以及如何响应菜单项的点击事件。此外还涉及如何使用 MenuInflater 类加载菜单资源文件,并通过覆盖 onCreateOptionsMenu 和 onOptionsItemSelected 方法实现菜单项的功能。

<MENU xmlns:android="http://schemas.android.com/apk/res/android">
 <GROUP android:id="@+id/myGroup">
  <ITEM android:id="@+id/New" android:title="New" android:orderInCategory="0"></ITEM>
  <ITEM android:id="@+id/Save" android:title="@string/save" android:orderInCategory="1" />
 </GROUP>
</MENU>

 

 /res/menu   menus.xml   android:orderInCategory="1"菜单的位置

@Override
public boolean onCreateOptionsMenu(Menu menu) {
	MenuInflater inflater = getMenuInflater();
	inflater.inflate(R.menu.menus, menu);
	return super.onCreateOptionsMenu(menu);
}

 

@Override
public boolean onOptionsItemSelected(MenuItem item) {
	switch (item.getItemId()) {
	case R.id.New:
		doSmth();
		break;
	case R.id.Save:
		doSmth();
		break;
	}
	return super.onOptionsItemSelected(item);
}

 

Group Category tag

1 <GROUP android:id="@+id/some_group_id " android:menuCategory="secondary"> </GROUP>

Checkable Behavior tag
You can use it for group:

1 <GROUP android:id="@+id/noncheckable_group" android:checkableBehavior="none"></GROUP>

And also for menu item:

1 <ITEM android:id=".." android:title="…" android:checked="true" />

Submenu tag

1 <ITEM android:title="Submenu">
2     <MENU>
3         <ITEM… />
4     </MENU>
5</ITEM>

Menu Icon tag

1 <ITEM android:id=".. " android:icon="@drawable/yourImageFile" />

Menu Enabling/Disabling tag

1 <ITEM android:id=".. " android:icon="@drawable/yourImageFile" android:enabled="true" />

Menu Item Shortcut tag

1 <ITEM android:id="… " android:alphabeticShortcut="n" />

Menu Visibility tag

1 <ITEM android:id="… " android:visible="true" />

 

在HV Menu基础上,改进成读取xml文件的方式来做的菜单,可以横向、纵向,样式可自定义,更加方便了制作动态的菜单和用程序控制菜单权限。XML定义简单直观<br><br><?xml version="1.0" encoding="utf-8" ?><br><br><menus><br> <menu name="文件" link="#" background="" height="20" width="68"><br> <menu name="新建" link="javascript:alert(&apos;新建&apos;)" background="" height="20" width="68"></menu><br> <menu name="打开" link="javascript:alert(&apos;打开&apos;)" background="" height="20" width="68"></menu><br> <menu name="保存" link="javascript:alert(&apos;保存&apos;)" background="" height="20" width="68"></menu><br> <menu name="退出" link="javascript:alert(&apos;退出&apos;)" background="" height="20" width="68"></menu><br> </menu><br> <menu name="编辑" link="#" background="" height="20" width="68"><br> <menu name="复制" link="javascript:alert(&apos;复制&apos;)" background="" height="20" width="68"></menu><br> <menu name="剪切" link="javascript:alert(&apos;剪切&apos;)" background="" height="20" width="68"></menu><br> <menu name="粘贴" link="javascript:alert(&apos;粘贴&apos;)" background="" height="20" width="68"></menu><br> <menu name="删除" link="javascript:alert(&apos;删除&apos;)" background="" height="20" width="68"></menu><br> </menu><br> <menu name="收藏夹" link="" background="" height="20" width="68"><br> <menu name="Google" link="http://www.google.com" background="" height="20" width="68"></menu><br> <menu name="Yahoo" link="http://www.yahoo.com" background="" height="20" width="68"></menu><br> <menu name="邮箱" link="#" background="" height="20" width="68"><br> <menu name="网易163邮箱" link="http://mail.163.com" background="" height="20" width="98"></menu><br> <menu name="网易126邮箱" link="http://mail.126.com" background="" height="20" width="98"></menu><br> <menu name="Gmail" link="http://www.gmail.com" background="" height="20" width="98"></menu><br> </menu><br> </menu><br> <menu name="帮助" link="#" background="" height="20" width="68"><br> <menu name="访问网站" link="http://www.ayeah.net" background="" height="20" width="68"></menu><br> <menu name="发送邮件" link="mailto:ayeah@21cn.com" background="" height="20" width="68"></menu><br> <menu name="论坛" link="javascript:alert(&apos;论坛&apos;)" background="" height="20" width="68"></menu><br> <menu name="关于" link="javascript:alert(&apos;关于&apos;)" background="" height="20" width="68"></menu><br> </menu><br></menus>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值