`
1140566087
  • 浏览: 548130 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
博客专栏
2c4ae07c-10c2-3bb0-a106-d91fe0a10f37
c/c++ 入门笔记
浏览量:18089
3161ba8d-c410-3ef9-871c-3e48524c5263
Android 学习笔记
浏览量:309670
Group-logo
J2ME 基础学习课程集
浏览量:18021
A98a97d4-eb03-3faf-af96-c7c28f709feb
Spring 学习过程记录...
浏览量:17204
社区版块
存档分类
最新评论

Android 之 选项菜单Option Menu

阅读更多

使用菜单资源:
概述:Android中的菜单分为选项菜单、上下文菜单和子菜单;

选项菜单:option menu:最常见的菜单,当用户单击设备上的menu按钮的按键时,
弹出的就是选项菜单;

上下文菜单(context menu):android中长按控件后出现的菜单;

子菜单(sub menu):android中点击子菜单将弹出悬浮窗口显示子菜单项,子菜单不
支持嵌套;
      
菜单的创建方式:1、布局文件中声明创建; 2、在代码中创建;


选项菜单:
点击设备上Menu弹出的菜单;

所用知识点:
menu.add(groupId, itemId, order, title);
参1:组号,android可以给菜单分组,分组能更加方便快捷的操作同一组菜单;
参2: 指定每个菜单项的唯一ID号,可自定义也可系统分配;
用途:在响应菜单的时候要通过ID来判断哪个菜单借点被点击了;(可通过资源文件进行)
参3:菜单项的显示序号,编号小的位置在前面

注:选项菜单一个页面最多只能显示六个  , 如果多于六个那么系统会自动的生成more按钮,点击可以看到未显示的菜单项;

案例:添加7个选项菜单,并实现点击菜单后提示用户点击的是哪个菜单;

在程序中实现:
java代码:
/*选项菜单:创建选项菜单*/

	public boolean onCreateOptionsMenu(Menu menu) {
		/* 添加菜单项的内容 */
		menu.add(Menu.NONE, 0, 1, "menu1");
		menu.add(Menu.NONE, 1, 2, "menu2");
		menu.add(Menu.NONE, 2, 3, "menu3");
		menu.add(Menu.NONE, 3, 4, "menu4");
		menu.add(Menu.NONE, 4, 5, "menu5");
		menu.add(Menu.NONE, 5, 6, "menu6");
		menu.add(Menu.NONE, 6, 7, "menu7");
		menu.add(Menu.NONE, 7, 8, "menu8");
				
		return true;
	}
	
	效果如图:
	
	消息响应:
		上述的代码只是完成了选项菜单的界面并没有对菜单项进行消息响应;android中提供了多种响应
		菜单方式;
		1、重写activity类的onOptionsItemSelected(MenuItem)回调方法;
	java代码如下:
		/* 选项菜单: 用于写事件的方法 *//* 参数介绍:MenuItem 表示的是菜单项  */
	public boolean onOptionsItemSelected(MenuItem item) {
		/* 获取菜单项的ID */
		int temp = item.getItemId();
		
		
		/* 通过ID 获取指定选项菜单项,并执行该菜单项对应的操作  */
		/* 代码创建菜单的消息响应 */
		switch(temp){
		case 0:
			Toast.makeText(MainActivity.this, "menu1", 1000).show();
			break;
		case 1:
			Toast.makeText(MainActivity.this, "menu2", 1000).show();
			break;
		case 2:
			Toast.makeText(MainActivity.this, "menu3", 1000).show();
			break;
		}
		
		
		/* 响应消息 方法回调 */
		return super.onOptionsItemSelected(item);
	}

效果如图:

------------------------------------------------------------------------
xml布局实现选项菜单:
xml布局:
	<menu xmlns:android="http://schemas.android.com/apk/res/android" >


	    <item
	        android:id="@+id/one"
	        android:enabled="true"
	        android:title="menu1"
	        android:visible="true"/>
	    <item
	        android:id="@+id/two"
	        android:enabled="true"
	        android:title="menu2"
	        android:visible="true"/>
	    <item
	        android:id="@+id/three"
	        android:enabled="true"
	        android:title="menu3"
	        android:visible="true"/>

	</menu>
	
	java中代码:
		/*选项菜单:创建选项菜单*/
		public boolean onCreateOptionsMenu(Menu menu) {
	
			/* xml 布局实现选项菜单  */
			MenuInflater inflater = getMenuInflater();
			inflater.inflate(R.menu.main, menu);
			
			return true;
		}

	/* 选项菜单: 用于写事件的方法 *//* 参数介绍:MenuItem 表示的是菜单项  */
	public boolean onOptionsItemSelected(MenuItem item) {
		/* 获取菜单项的ID */
		int temp = item.getItemId();
		
		/* xml布局菜单的消息响应 */
		switch(temp){
		case R.id.one:
			Toast.makeText(MainActivity.this, "menu1", 1000).show();
			break;
		case R.id.two:
			Toast.makeText(MainActivity.this, "menu2", 1000).show();
			break;
		case R.id.three:
			Toast.makeText(MainActivity.this, "menu3", 1000).show();
			break;
		}
		
		/* 响应消息 方法回调 */
		return super.onOptionsItemSelected(item);
	}
	
	
}




  • 大小: 17.4 KB
  • 大小: 16.7 KB
  • 大小: 11.2 KB
  • 大小: 12.3 KB
分享到:
评论

相关推荐

    Android中选项菜单(OptionMenu)的创建方法

    主要介绍了Android中选项菜单(OptionMenu)的创建方法,非常不错,具有参考借鉴价值,需要的朋友可以参考下

    学习理解Android菜单Menu操作

    今天看了pro android 3中menu这一章,对Android的整个menu体系有了进一步的了解,故整理下笔记与大家分享。 PS:强烈推荐《Pro Android ...选项菜单:最常规的菜单,android中把它叫做option menu子菜单:android中点击

    Android三种菜单实例分析

    Android的菜单分为三种类型:选项菜单(Option Menu)、上下文菜单(Context Menu)、子菜单(Sub Menu) 一.选项菜单 当用户单击设备上的菜单按钮(Menu),触发事件弹出的菜单就是选项菜单。选项菜单最多只有六个,超过...

    Option menu

    看到网上有人提问, 顺便整了一个小程序,测试ok

    Android菜单详解

    选项菜单:最常规的菜单,android中把它叫做option menu 子菜单:android中点击子菜单将弹出悬浮窗口显示子菜单项。子菜单不支持嵌套,即子菜单中不能再包括其他子菜单。 上下文菜单:android中长按视图控件后出现...

    select通过js删除指定的option选项

    简单的例子,点击按钮就删除掉option,也可以通过jquery加载的时候进行删除。

    JS动态添加option和删除option(附实例代码)

    1.动态创建select 代码如下: ...添加选项option 代码如下: function addOption(){ //根据id查找对象, var obj=document.getElementById(‘mySelect’); //添加一个选项 obj.add(new Option(“文本”,”值”)); /

    Option Option Option

    Option Option Option Option Option Option Option Option Option Option Option Option Option Option Option Option Option Option Option Option Option Option Option Option Option Option Option Option ...

    Android下的dropbear源码

    此包为Android下的dropbear源码,请直接将此包放在Android_src/external目录下,然后设置好编译环境变量之后,进入Android_src目录直接mmm external/dropbear即可。 最终生成的文件包括以下文件: 1.dropbear 2....

    页select中如何实现选择option其中一个选项,显示相关的内容

    &lt;option value='1'&gt;第一条新闻标题&lt;/option&gt; &lt;option value='2'&gt;第二条新闻标题&lt;/option&gt; 第一条新闻内容 第二条新闻内容 CSS样式写 #info_box div { display:none; } js函数: function ShowInfo(Id){ document...

    select将选中的option设置为默认选项

    select将选中的option设置为默认选项,可多个select可一个select.项目中遇到这个问题后自己写的(原先有默认值的话会将选中的设为默认选项)

    清空select标签中option选项的3种不同方式

    方法一 复制代码代码如下: document.getElementById(“selectid”).options.length = 0; 方法二 复制代码代码如下: document.formName.selectName.options.length = 0; 方法三 复制代码代码如下: document....

    Android代码-Android-PdfMyXml

    Android-PdfMyXml convert your android XML layouts into PDF document, works on all versions of Android. Dependencies pdfjet How to use Option 1: Simply fork or download the project, you can also ...

    4、Webdynpro入门之Select-Option【原创】

    4、Webdynpro入门之Select-Option,详细讲解Select-Option在Webdynpro中的应用。

    Android代码-Graylog-Android

    Graylog client for Android devices Graylog is a rsyslog web interface based on Ruby On Rails: ...the License, or (at your option) any later version. Graylog (Android Client) is distributed in the

    javascript_select_option_操作详解.txt

    1 检测是否有选中 2.动态创建select 3.添加选项option 4.删除所有选项option 5.删除一个选项option 6.获得选项option的值......

    select下拉菜单option文字粗体的实现方法

    相信大家都用过下拉菜单,而用select控件来实现是最常用也是最简单的方法

    option43 generator.exe

    用于Option 43 参数的计算

    select option带自定义图片

    select option 自定义图片的js 、css 以及代码展示,javaScript ;

Global site tag (gtag.js) - Google Analytics