大家好,欢迎来到IT知识分享网。
计应111 康绍博
不管是在电脑上还是在手机上,菜单是不可缺少的一个重要部分,今天我们学习一下子菜单的介绍。
1. 选项菜单和子菜单
选项菜单就是按“菜单”键时所弹出的菜单选项,通常选项菜单最多只能显示6个选项,当选项多于6个是时,最后一个选项会被默认的变成一个子菜单“更多”。当点击“更多”时就会弹出其它没有显示完的选项。
(1)新建一个名为“MenuTest”的Android Project。新建以后的代码如下:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
EditText t1=(EditText)findViewById(R.id.t1);//注册文本框t1
Button b1=(Button)findViewById(R.id.b1);//注册按钮b1
this.registerForContextMenu(t1);//为文本框t1注册上下文菜单
this.registerForContextMenu(b1);
}
(2)在MenuTestActivity类中,右单击Source→Override/Implement Methods。通过onCreateOptionsMenu()方法来生成选项菜单,代码如下:
public boolean onCreateOptionsMenu(Menu menu) {
// TODO Auto-generated method stub
super.onCreateOptionsMenu(menu);//调用父类的方法
SubMenu subMenu=menu.addSubMenu(“系统设置”);//主菜单
subMenu.add(1,1,1,”显示设置”);//菜单项
subMenu.add(1,2,2,”标题设置”);
subMenu.add(1,3,3,”文件设置”);
subMenu.add(1,4,4,”菜单设置”);
SubMenu subMenu2=menu.addSubMenu(“文件”);
subMenu2.add(1,1,1,”新建文件”);
subMenu2.add(1,2,2,”文件修改”);
SubMenu subMenu3=menu.addSubMenu(“编辑”);
subMenu3.add(1,1,1,”编辑部份”);
subMenu3.add(1,2,2,”编辑全部”);
SubMenu subMenu4=menu.addSubMenu(“新建文件夹”);
subMenu4.add(1,1,1,”单个新建”);
subMenu4.add(1,2,2,”批量新建”);
SubMenu subMenu5=menu.addSubMenu(“设置墙纸”);
subMenu5.add(1,1,1,”相册”);
subMenu5.add(1,2,2,”系统墙纸”);
SubMenu subMenu6=menu.addSubMenu(“搜索”);
subMenu6.add(1,1,1,”文件搜索”);
subMenu6.add(1,2,2,”文章搜索”);
SubMenu subMenu7=menu.addSubMenu(“新建文件”);
subMenu7.add(1,1,1,”空白文件”);
subMenu7.add(1,2,2,”模板文件”);
return true;
}
2. 上下文菜单
上下文菜单就是在Android系统中长按某控件所弹出的菜单,就是Windows单击鼠标右键弹出的菜单。
(1)注册上下文菜单
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
EditText t1=(EditText)findViewById(R.id.t1);//注册文本框t1
Button b1=(Button)findViewById(R.id.b1);//注册按钮b1
this.registerForContextMenu(t1);//为文本框t1注册上下文菜单
this.registerForContextMenu(b1);
}
(2)生成上下文菜单
public void onCreateContextMenu(ContextMenu menu, View v,
ContextMenuInfo menuInfo) {
// TODO Auto-generated method stub
super.onCreateContextMenu(menu, v, menuInfo);
if(v.getId()==R.id.t1)//判断用户选择的对象
{
menu.clear();
menu.setHeaderTitle(“文件操作”);//上下文菜单
menu.add(0,1,Menu.NONE,”发送”);
menu.add(0,2,Menu.NONE,”标记为重要”);
menu.add(0,3,Menu.NONE,”重命名”);
menu.add(0,4,Menu.NONE,”删除”);
}
else if(v.getId()==R.id.b1)
{
menu.setHeaderTitle(“编辑操作”);//上下文菜单
menu.add(0,1,Menu.NONE,”发送”);
menu.add(0,2,Menu.NONE,”标记为重要”);
}
}
(3)响应上下文菜单
public boolean onContextItemSelected(MenuItem item) { //响应上下文菜单
// TODO Auto-generated method stub
t1.setText(item.getTitle());
return true;
}
3. 在写上下文菜单的代码中需要注意要为需要弹出上下文菜单的控件注册上下文菜单。
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/32185.html