玩转Android---UI篇---Menu(菜单)

本文详细介绍了Android系统的三种菜单类型:optionsmenu、contextmenu和submenu,并通过示例代码展示了optionsmenu及submenu的具体实现方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

转自http://hualang.iteye.com/blog/966668

 

Android系统里面有3种类型的菜单:options menu,context menu,sub menu。 

options menu  : 按Menu键就会在屏幕下面显示,一个弹出的菜单。 
    它包括两种菜单项: 
         因为options menu在屏幕底部最多只能显示6个菜单项,这些菜单项称为icon menu,icon menu只支持文字(title) 以及icon,可以设置快捷键,不支持checkbox以及radio控件,所以不能设置checkable选项。 
         而多于6的菜单项会以“more” icon menu来调出,称为expanded menu。它不支持icon,其他的特性都和icon menu一样! 

在Activity里面,用options menu的使用方法如下: 

 

public boolean onCreateOptionsMenu(Menu menu) {

menu.add(0, 1, 1, R.string.exit);

menu.add(0, 2, 2, R.string.about);

return super.onCreateOptionsMenu(menu);

}

 

      创建options menu,这个函数只会在menu第一次显示时调用。 

 

public boolean onOptionsItemSelected(MenuItem item) {

if(item.getItemId()==1)

{

finish();

}else if(item.getItemId()==2)

{

Toast toast=Toast.makeText(this, "这是个Menu菜单的练习", Toast.LENGTH_SHORT);

toast.show();

}

return super.onOptionsItemSelected(item);


     onOptionsItemSelected (MenuItem item) 处理选中的菜单项。

 

实例如下:

MenuTest.java

 

String.xml

 

main.xml

 

 

运行结果如下:点击Menu按钮



 当点击退出时候,就会退出程序,当点击关于的时候会弹出一个Toast


 

sub menu 
    上面的menu都可以加入子菜单,但子菜单不能嵌套子菜单,这意味着在Android系统,菜单只有两层,设计时需要注意的!同时子菜单不支持icon。 所以这个时候可以在option menu中加入可以嵌套的菜单 sub menu

只需要在刚才的代码中的onCreateOptionMenu中加入

 

再次运行后,点击MENU按钮,会弹出3个选项



 当点击“游戏”选项的时候,就会弹出如下效果


 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值