android笔记17- 各种menu
来源:互联网 发布:c语言之父 谭浩强 编辑:程序博客网 时间:2024/06/04 23:23
OptionsMenu:创建菜单;
点击菜单按钮时显示菜单项,点击菜单项时,有点击事件;
创建菜单项:
第一步:在Activity中重写onCreateOptionsMenu()来创建选项菜单,在中包含了getMenuInflater().inflate(R.menu.main,menu),R.menu.main是res的menu文件夹下的xml文件是放菜单的文件夹;设置菜单项可以通过两种方法: 一:代码动态设置menu.add(groupId,itemId,order,title),
groupId--1:分组的id;
itemId--100:菜单项的id;
order--1:菜单项排序用的;
title--"菜单1":菜单名称;
类似于ArrayList,可以调用add方法来加载如
menu.add(1,100,1,"菜单一");
menu.add(1,101,1,"菜单二");
menu.add(1,102,1,"菜单三");
add方法返回的是item,可以赋值给item,再调用item的setTitle与setIcon(在API>=11时,是不显示图标的)来设置item;
二:在R.menu.main的xml文件,添加item控件来添加设置菜单项;
第二步:重写onOptionsItemSelected(MenuItem item)方法设置菜单项的点击事件,再switch(item.getItemId())来设置各个case,方法1的id是add中itemId,方法二的id是xml文件中定义的id的点击事件;
第三步:创建Activity,关联xml文件,并在manifest中加上activity。在case中,新建intent,调用item的setIntent(intent)实现界面跳转;
setIconEnable(menu, true);来设置高API的图标;
ContextMenu:
步骤:
第一步:添加一个ListView,通过ArrayAdapter设置listView,ArrayAdapter构造函数中的resource设为android.R.layout.simple_list_item_1;objects为ArrayList<String>通过add函数来添加;
第二步:通过调用this的registerForContextMenu(listView)方法来注册上下文菜单;重写onCreateContextMenu(menu,v,menuInfo)方法;通过调用menu的setHeaderTitle方法来设置标题;menu.add(group,itemId,order,title)与选项目录的add相同;重写onContextItemSelected方法来设置点击事件;也可以在Menu文件夹下的XML文件中添加Item,再通过MenuInflater inflater = getMenuInflater(),调用Inflater的inflate(R.menu.main,menu)方法来把xml设置为菜单项但要注意后面点击事件中的id要为现在的id;
subMenu:子菜单,如先按menu键,之后会出现选择菜单,点击后进入子菜单;或是标题栏上的竖着的省略号;
步骤:
第一步:重写OncreateOptionsMenu方法;调用menu的addSubMenu(子菜单名)方法来创建子菜单,返回值为menu,并创建subMenu对象并赋上返回值,从而获取到subMenu对象;
第二步:通过subMenu的add方法来添加submenu的item;调用subMenu的setHeaderTitle(),setHeaderIcon()来设置subMenu的样式;
第三步:重写onOptionsItenSelected(),来设置item的点击事件;首先调用item的getGroupId()方法来确定groupId,之后再调用item的getItemId()方法确定itemid;
可以通过设置activity的样式来改变子菜单出现的方式:如按住menu键来出现,或者是标题栏上的竖着的省略号;
通过xml的方式来添加subMenu子菜单:
第一步:在menu.xml文件中item中添加menu的控件,这个menu对应的是子菜单;再在子菜单中添加菜单项;
第二步:重写OncreateOptionsMenu方法,通过MenuInflater inflater=getMenuInflater();调用inflater的inflate()来加载menu的xml文件;
第三步:重写onOptionsItenSelected(),修改点击后的操作;
- android笔记17- 各种menu
- Android开发笔记: Menu
- Android学习笔记-Menu
- Android各种Menu带你飞
- Android学习笔记之MENU
- android学习笔记之Menu
- Android学习笔记–Menu
- Android学习笔记之Menu
- Android学习笔记之Menu
- Android笔记 - UI Menu (1)
- Android 学习笔记2 MENU
- 【Android学习笔记】 菜单Menu
- Android学习笔记之Menu(二)
- Android 学习笔记(二七):Menu
- Android 学习笔记(二七):Menu
- Android 学习笔记(二七):Menu
- Android笔记 - UI Menu (3) Action Bar
- Android笔记 - UI Menu (3) Action Bar
- urllib 传参
- android笔记16-Notification
- c++之指针作为函数参数传递的问题
- Beginning Auto Layout Tutorial in iOS 7: Part 1
- Android的计量单位px,in,mm,pt,dp,dip,sp
- android笔记17- 各种menu
- maven核心,pom.xml详解
- JVM(java 虚拟机)内存设置
- 网络游戏和实现语言
- TCP/UDP 常用端口列表
- Visual Studio 2010 修改默认模板文件
- getContextPath、getServletPath、getRequestURI的区别
- Android Studio 快捷键整理分享
- poj 2723 Get Luffy Out 2-sat