欢迎访问 生活随笔!

凯发k8官方网

当前位置: 凯发k8官方网 > 运维知识 > android >内容正文

android

android子视图无菜单,android 菜单详解 -凯发k8官方网

发布时间:2024/10/8 android 0 豆豆
凯发k8官方网 收集整理的这篇文章主要介绍了 android子视图无菜单,android 菜单详解 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

android中菜单分为三种,选项菜单(optionmenu),上下文菜单(contextmenu),子菜单(submenu)

选项菜单

可以通过两种办法增加选项菜单,一是在menu.xml中添加,该种方式参见android 资源详解(二) 菜单资源,二是在.java中添加

1、覆盖activity 的 oncreateoptionsmenu(menu  menu)方法,当我们第一次打开菜单

时该方法被自动调用。

2、调用menu的 add()方法添加菜单项(menultem) ,可以调用menultem的seticon()

方法来为菜单项设置图标。.1

3、当菜单项(menuitem)    被选择时,覆盖 activity   的 onoptionsitemselected()方法来 响应事件。

如下代码:public class mainactivity extends activity {

private static final int menu1=menu.first;

private static final int menu2=menu.first 1;

@override

protected void oncreate(bundle savedinstancestate) {

super.oncreate(savedinstancestate);

setcontentview(r.layout.activity_main);

}

public boolean oncreateoptionsmenu(menu menu) {

menu.add(0,menu1,0,"ok");

menu.add(0,menu2,0,"cancel");

return true;

}

}

上下文菜单

当用户按住屏幕后,弹出的菜单成为上下文菜单。

1、覆盖activity  的 oncreatecontextmenuo方法, 调用 menu 的 add 方法添加菜单项

2、覆盖oncontextitemselected(menuiten item) 方法,响应菜单单击事件。

3、调用 registerforcontextmenu()方法,为视图注册上下文菜单。当长按视图时,会出现上下文菜单。代码如下:public class mainactivity extends activity {

private static final int menu1=menu.first;

private static final int menu2=menu.first 1;

@override

protected void oncreate(bundle savedinstancestate) {

super.oncreate(savedinstancestate);

setcontentview(r.layout.activity_main);

textview mytext=(textview)this.findviewbyid(r.id.text1);

this.registerforcontextmenu(mytext);

}

public void oncreatecontextmenu(contextmenu menu,view v,contextmenuinfo menuinfo) {

menu.add(0,menu1,0,"ok");

menu.add(0,menu2,0,"cancel");

}

public boolean oncontextitemselected(menuitem item) {

int id=item.getgroupid();

switch(id) {

case menu1: break;

case menu2:break;

}

return super.oncontextitemselected(item);

}

子菜单

子菜单就是将相同功能的分组进行多级显示的一种菜单,比如,windows的"文件"菜单中又有"新建"、"打开"、"关闭"等子菜单。android系统中的子菜单也很多见,如" settings"  (设置)菜单就有其子菜单。

具体步骤如下:

1、覆盖activity 的 oncreateoptionsmenu()方法,调用 menu 的 addsubmenu()方法添

加子菜单项 (submenu)。

2、调用submenu的add()方法,添加子菜单 (submenu) 。

3、覆盖oncontextitemselected()方法,响应菜单单击事件。

代码如下:public class mainactivity extends activity {

private static final int menu1=menu.first;

private static final int menu2=menu.first 1;

@override

protected void oncreate(bundle savedinstancestate) {

super.oncreate(savedinstancestate);

setcontentview(r.layout.activity_main);

}

public boolean oncreateoptionsmenu(menu menu) {

submenu file=menu.addsubmenu("file");//添加子菜单

submenu edit=menu.addsubmenu("edit");//添加子菜单

file.add(0,menu1,0,"new");//为子菜单添加菜单选项

file.add(0,menu2,0,"open");

return true;

}

与50位技术专家面对面20年技术见证,附赠技术全景图

总结

以上是凯发k8官方网为你收集整理的android子视图无菜单,android 菜单详解的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得凯发k8官方网网站内容还不错,欢迎将凯发k8官方网推荐给好友。

  • 上一篇:
  • 下一篇:
网站地图