Android用户界面菜单之子菜单(Sub Menu)
来源:互联网 发布:健康提醒软件 编辑:程序博客网 时间:2024/05/17 04:20
Android系统为我们提供了丰富的可视化用户界面组件,包括菜单、对话框、按钮、下拉列表等。Android系统借用了Java里的UI设计思想,包括事件响应机制和布局管理。Android系统中的所有UI类都是建立在View和ViewGroup这两个类的基础之上。所有的View的子类称为“Widge”,所有ViewGroup的子类称为“Layout”。View和ViewGroup之间采用了组合设计模式(Composite),可以使得“部分-整体”同等对待。ViewGroup作为布局容器类在最上层,布局容器里面又可以有View和ViewGroup。
菜单的设计在人机交互中可以说是非常人性化的,它提供了不同功能分组展示的能力。Android中菜单分为三种类型:选项菜单(Option Menu)、上下文菜单(Context Menu)和子菜单(Sub Menu)。 下面我们继续上一篇,讲解子菜单:
很好理解,子菜单就是讲相同功能的分组进行多级显示的一种菜单,比如,Windows的“文件”菜单中又有“新建”、“打开”、“关闭”等子菜单。Android系统中的子菜单也很多,比如“Setting”(设置)菜单就有其子菜单。创建步骤如下:
1、覆盖Activity的onCreateOptionMenu()方法,调用Menu的addSubMenu()方法添加子菜单项(Sub Menu)。
2、调用SubMenu的add()方法,添加子菜单(Sub Menu)。
3、覆盖onContextItemSelected()方法,添加子菜单单击事件。
案例:
package com.xiaomo.ui;import android.app.Activity;import android.os.Bundle;import android.view.Menu;import android.view.MenuItem;import android.view.SubMenu;import com.example.helloworld.R;public class Sub_Menu extends Activity {private static final int ITEM1 = Menu.FIRST;private static final int ITEM2 = Menu.FIRST+1;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);}//覆盖该方法添加子菜单项@Overridepublic boolean onCreateOptionsMenu(Menu menu) {//添加子菜单SubMenu file = menu.addSubMenu("文件");SubMenu edit = menu.addSubMenu("编辑");//为子菜单添加菜单项file.add(0, ITEM1,0,"新建");file.add(0, ITEM2, 0, "打开");return true;}//覆盖该方法,响应菜单选项被单击事件@Overridepublic boolean onOptionsItemSelected(MenuItem item) {switch (item.getItemId()) {//菜单项1被选择case ITEM1://设置Activity标题setTitle("新建文件!");break;case ITEM2:setTitle("打开文件!");break;}return true;}}
2 0
- Android用户界面菜单之子菜单(Sub Menu)
- Android menu菜单介绍之子菜单
- Android用户界面菜单之选项菜单(Option Menu)
- Android用户界面菜单之上下文菜单(Context Menu)
- Sub Menu子菜单
- Android学习:用户界面UI之菜单(Menu)
- android用户界面——菜单menu
- Android菜单(Menu)
- Menu---android菜单(menu)用法
- android菜单(menu)用法
- Android菜单(Menu) - 1
- Android菜单(Menu) - 2
- Android菜单(Menu) - 3
- Android菜单(Menu) - 4
- Android菜单(Menu) - 5
- android菜单(menu)资源
- Android菜单(Menu)小结
- android之菜单(menu)
- JS 刷新当前页面 返回上一页并刷新的方法
- Latex 算法编辑
- 20 Android Spinner
- 跟我一起写 Makefile(十)
- Maven中的WEB工程转换为MyEclipse中的WEB工程(自动部署,调试)
- Android用户界面菜单之子菜单(Sub Menu)
- 软件工程之软件工程管理
- (standard c libraries translation )logwtmp
- Hibernate查询方式汇总
- 模仿mongodb采用xml+json实现小型数据库
- 【动态规划之路径选择】
- socket编程注意事项
- 编译OpenCV
- System Address Map Initialization in x86/x64 Architecture Part 1: PCI-Based Systems