AndroidMenu的应用之OptionMenu的应用

AndroidMenu分为三类:

1、OptionMenu(选项菜单)

2、ContextMenu(上下文菜单)

3、SubMenu(子菜单)

下面我们来学习一下OptionMenu(选项菜单):

当用户在触摸装有andorid os 的手机上的menu键时,弹出的界面就是就是optionMenu(选项菜单)。

实现自定义的optionMenu,我们需要重写onCreateOptionMenu(Menu menu)方法:

@Override
	public boolean onCreateOptionMenu(Menu menu){

		//Inflate the menu;this add items to the action if it is persent.
		getMenuInflater().inflater(R.menu.main,menu);
		//上面的代码是在重写onCreateOptionMenu(Menu menu)方法时,自动生成的。
		//功能:将指定样式表中的选项模板,添加到菜单中。
		//getMenuInflater().inflater(int id,Menu menu);
		// id:该参数用于通过R类找到样式表
		// menu:该参数用于将样式表中的选项模板显示出来
		return true
	}



通过getMenuInflater().inflater(int id,Menu menu)自动生成的menu菜单项



mian.xml文件内容(文件位置:/ser/menu/mian.xml):

<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    tools:context="com.example.sendhttpresponse.MainActivity" >

    <item
        android:id="@+id/action_settings"		<!--设置id:用于查找该选项 -->
        android:orderInCategory="100"			<!--设置显示顺序:一般是以0开始 -->
	android:icon="@drawable/item_icon"     		<!--设置选项的图标,竟在该选项显示在actionBar中时,才会显示改图标 -->
        android:title="@string/action_settings"/>	<!--设置选项显示的内容:从资源文件中获取 -->
 	android:showAsAction="never"			<!--设置显示方式:never:一直显示在OptionMenu中 -->
	<!-- 关于showAsAction的常用属性值介绍:
		never:一直显示在menu中。
		always:一直显示在ActionBar中。
		ifRoom:如果ActionBar中有空余的空间,那么就显示在ActionBar中显示。否则就显示在menu菜单中
	-->
</menu>


当程序右上角有空间时,那么便将选项添加到右上角显示。(android:showAsAction="ifRoom")

当选项设置了icon时,并在右上角显示。那么将显示指定icon。


通过Menu类提供的方法add(int group,int itemId,int  order,String titleRes),进行选项模板的添加。

参数功能:int    group :选项属于那个组

 int    itemId :选项的编号,用于查找该选项。非常重要

 int    order : 用于确定选项的排列顺序

 String titleRes :  指定选项显示的内容

实例代码:

private final static int MENU_GROUP = 0;
	private final static int MENU_ID = 0;
	private final static int MENU_ORDER = 0;
	private final static String MENU_TITLE = "Menu";

	@Override
	public boolean onCreateOptionMenu(Menu menu){

		menu.add(MENU_GROUP ,MENU_ID ,MENU_ORDER ,MENU_TITLE );
		menu.add(MENU_GROUP + 1,MENU_ID + 1,MENU_ORDER ,MENU_TITLE + 1);
		menu.add(MENU_GROUP + 2,MENU_ID + 2,MENU_ORDER ,MENU_TITLE + 2);
		menu.add(MENU_GROUP + 3,MENU_ID + 3,MENU_ORDER ,MENU_TITLE + 3);
		return true
	}

        效果图


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值