4、从头学Android之Menu选项菜单
来源:互联网 发布:数据采集费资料费清单 编辑:程序博客网 时间:2024/06/01 01:33
创建一个选项菜单的步骤:
1、覆盖Activity的onCreateOptionsMenu(Menu menu)函数
2、调用menu的add()方法添加菜单项(MenuItem),可以调用MenuItem的setIcon()方法来为菜单设置图标
3、当菜单项()被选择时,我们可以通过覆盖Activity的onOptionsItemSeleted()方法来响应事件
下面先来看下onCreateOptionsMenu()函数
public boolean onCreateOptionsMenu (Menu menu)
函数返回值:布尔值,表示是否显示该函数中设置的菜单
参数:Menu对象
onCreateOptionsMenu函数仅在第一次使用菜单时被调用一次。在这个函数我们可以通过Menu对象的add()方法添加菜单子项,这个函数有四个重载函数,下面分别介绍:
public abstract MenuItem add (CharSequence title)
参数说明:指定菜单上的显示文字
public boolean onCreateOptionsMenu(Menu menu) { menu.add("一个参数的add方法的菜单"); menu.add("一个参数的add方法的菜单2"); return true; }
注意:这种方式添加的按钮是默认的垂直方式排列:
效果如图1:
public abstract MenuItem add (int groupId, int itemId, int order, int titleRes)
参数说明:
groudId:是指组ID,用以批量地对菜单子项进行处理和排序
itemId:是子项ID,是每一个菜单子项的唯一标识
order:指定菜单子项在选项菜单中的排列顺序
titlerRes: 菜单标题的引用
public abstract MenuItem add (int titleRes)
参数说明:titlerRes: 菜单标题的引用通过string.xml中添加
<string name="titileRes">TitleRes</string>
public boolean onCreateOptionsMenu(Menu menu) { menu.add(R.string.titileRes); return true; }
效果:
public abstract MenuItem add (int groupId, int itemId, int order, CharSequence title)
这个是最常用的方法
参数说明:
groudId:是指组ID,用以批量地对菜单子项进行处理和排序
itemId:是子项ID,是每一个菜单子项的唯一标识
order:指定菜单子项在选项菜单中的排列顺序
titler: 菜单标题
public boolean onCreateOptionsMenu(Menu menu) { menu.add(0, ITEM, 0, "开始"); menu.add(0, ITME2, 0, "退出"); return true; }
效果:
为菜单添加响应事件
覆盖onOptionsItemSelected(MenuItem menuItem)函数
// 通过点击了哪个菜单子项来改变Activity的标题
public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case ITEM: setTitle("单击了菜单子项1"); break; case ITME2: setTitle("单击了菜单子项2"); break; } return true; }
综合实例:
package com.jiahui.activity;import android.app.Activity;import android.os.Bundle;import android.view.Menu;import android.view.MenuItem; public class MenuDemoActivity extends Activity { private static final int ITEM = Menu.FIRST; private static final int ITME2 = Menu.FIRST + 1; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); } public boolean onCreateOptionsMenu(Menu menu) { menu.add(0, ITEM, 0, "下载").setIcon(R.drawable.download);//设置图标 menu.add(0, ITME2, 0, "上传").setIcon(R.drawable.upload); return true; } // 通过点击了哪个菜单子项来改变Activity的标题 public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case ITEM: setTitle("单击了菜单子项1"); break; case ITME2: setTitle("单击了菜单子项2"); break; } return true; } }
效果:
源代码:http://download.csdn.net/detail/jiahui524/3611860
- 4、从头学Android之Menu选项菜单
- 4、从头学Android之Menu选项菜单
- Android之Menu选项菜单
- Android之菜单选项Menu(一)
- 从头学Android之ContexMenu上下文菜单
- 从头学Android之SubMenu子菜单
- Android用户界面菜单之选项菜单(Option Menu)
- Android 选项菜单 Option Menu
- android Menu 选项菜单示例
- 一起学android之选项菜单创建(4)
- 5、从头学Android之SubMenu子菜单
- 6、从头学Android之ContexMenu上下文菜单
- 5、从头学Android之SubMenu子菜单
- 6、从头学Android之ContexMenu上下文菜单
- Android开发之Menu:OptionMenu(选项菜单)、ContextMenu(上下文菜单)、SubMenu(子菜单)
- ANDROID 之menu菜单
- Android之Menu菜单
- Android-menu键选项菜单的实现
- sqlplus的几种登陆方式
- 给年轻程序员的几句话
- Two Simple Rules for HTTP Caching
- 输入两个字符串,从第一字符串中删除第二个字符串中所有的字符
- 包外类
- 4、从头学Android之Menu选项菜单
- 游戏开发学习起步之图形学基础
- MPI并行计算环境建立之二--挂载nfs文件系统
- Extjs.grid 详解
- 封装spring jdbc
- 我的大学这8年(2004-2012)
- 动态内存分配
- 生活有时候还是需要点这个的
- T-SQL:插入并返回自增ID