Android用户界面菜单之子菜单(Sub Menu)

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;
	
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
	}
	
	//覆盖该方法添加子菜单项
	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		//添加子菜单
		SubMenu file = menu.addSubMenu("文件");
		SubMenu edit = menu.addSubMenu("编辑");
		//为子菜单添加菜单项
		file.add(0, ITEM1,0,"新建");
		file.add(0, ITEM2, 0, "打开");
		return true;
	}
	
	//覆盖该方法,响应菜单选项被单击事件
	@Override
	public boolean onOptionsItemSelected(MenuItem item) {
		switch (item.getItemId()) {
		//菜单项1被选择
		case ITEM1:
			//设置Activity标题
			setTitle("新建文件!");
			break;
		case ITEM2:
			setTitle("打开文件!");
			break;
		}
		return true;
	}
	
	
}


出处: http://blog.csdn.net/cl05300629作者:伫望碧落

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值