Android_menu_SubMenu
menu.xml
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<!-- 嵌套菜单
1.在item中添加menu标签,menu标签中再添加item标签
2.二级菜单以对话框形式出现,最多两级菜单-->
<item
android:id="@+id/menu_1"
android:title="早餐"/>
<item
android:id="@+id/menu_2"
android:title="午餐"/>
<item
android:id="@+id/menu_3"
android:title="晚餐">
<menu>
<item
android:id="@+id/menu3_1"
android:title="鱼香肉丝"/>
<item
android:id="@+id/menu3_2"
android:title="香酥鸡块"/>
<item
android:id="@+id/menu3_3"
android:title="皮蛋瘦肉粥"/>
</menu>
</item>
</menu>
xml文件:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.example.menudemo.SubMenuDemo" > <TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/hello_world" /> </RelativeLayout>
源代码:
package com.example.menudemo; import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.SubMenu;
import android.widget.Toast; public class SubMenuDemo extends Activity { @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_submenu);
} @Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
/**用xml文件加载菜单栏
* getMenuInflater().inflate(R.menu.sub_menu_demo, menu);
*/
/**通过代码的方式添加菜单
* 通过代码添加带有子菜单的菜单
*/
SubMenu file = menu.addSubMenu("文件");
file.add(1, 1, 1, "新建");
file.add(1, 2, 1, "打开");
file.add(1, 3, 1, "保存");
file.setHeaderIcon(R.drawable.ic_launcher);
file.setHeaderTitle("文件操作");
SubMenu edit = menu.addSubMenu("编辑");
edit.add(2,1,1,"复制");
edit.add(2,2,1,"粘贴");
edit.add(2,3,1,"剪切");
edit.setHeaderIcon(R.drawable.ic_launcher);
edit.setHeaderTitle("编辑操作");
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
switch(item.getGroupId()){
case 1:{
if(item.getItemId()==1){
Toast.makeText(this,"点击了新建" , Toast.LENGTH_SHORT).show();
}else if(item.getItemId()==2){
Toast.makeText(this,"点击了打开" , Toast.LENGTH_SHORT).show();
}if(item.getItemId()==3){
Toast.makeText(this,"点击了保存" , Toast.LENGTH_SHORT).show();
}
break;
}case 2:
if(item.getItemId()==1){
Toast.makeText(this,"点击了复制" , Toast.LENGTH_SHORT).show();
}else if(item.getItemId()==2){
Toast.makeText(this,"点击了粘贴" , Toast.LENGTH_SHORT).show();
}if(item.getItemId()==3){
Toast.makeText(this,"点击了剪切" , Toast.LENGTH_SHORT).show();
}
}
return super.onOptionsItemSelected(item);
}
}
Android_menu_SubMenu的更多相关文章
随机推荐
- HDU 5534 Partial Tree 完全背包
一棵树一共有2*(n-1)度,现在的任务就是将这些度分配到n个节点,使这n个节点的权值和最大. 思路:因为这是一棵树,所以每个节点的度数都是大于1的,所以事先给每个节点分配一度,答案 ans=f[1] ...
- vim讲解
文本编辑vi使用 最好使用vim,采用sudo apt-get install vim vi是Linux及类Unix系统中主流的命令行文本编辑器,功能极为强大,vim是增强版本的vim.Vim的高级地 ...
- CUDA基本概念
CUDA计算模型 CUDA中计算分为两部分,串行部分在Host上执行,即CPU,而并行部分在Device上执行,即GPU. 相比传统的C语言,CUDA增加了一些扩展,包括了库和关键字. CUDA代码提 ...
- 50道经典的JAVA编程题(46-50)
50道经典的JAVA编程题(46-50),最后五道题了,这是一个美妙的过程,编程真的能让我忘掉一切投入其中,感觉很棒.今天下午考完微机原理了,大三上学期就这样度过了,这学期算是解放了,可是感觉我还是没 ...
- Java Script after Douglas Crockford's Training (JSON father)
有幸能参加大牛的培训,学到了很多东西,下面总结一下: 1.总的思想是每一门语言都有好有坏,我们要通过好的代码规范和其他一些方式去避免使用糟糠的那一部分.JS有很多缺点,但是也有很多优点,我们就用他的优 ...
- hadoop中MapReduce中压缩的使用及4种压缩格式的特征的比较
在比较四中压缩方法之前,先来点干的,说一下在MapReduce的job中怎么使用压缩. MapReduce的压缩分为map端输出内容的压缩和reduce端输出的压缩,配置很简单,只要在作业的conf中 ...
- HDU-4691 Front compression 后缀数组
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4691 后缀数组模板题,求出Height数组后,对Height做RMQ,然后直接统计就可以了... // ...
- ABAP报表程序编写规范 .
一. 程序的结构: 典型的ABAP报表程序是由多个代码区域组成,各代码区的存放位置以下列顺序为准,具体格式如下: *----------------------------- ...
- 牛一网ecshop综合类模板(仿淘常州) for ecshop 2.7.3
牛一网目前已经开发好这款ecshop综合类/多色系模板,已经开发好多种色系,本模板将会搭配多种颜色让用户选择,以适应 家电数码. 个护化妆. 生鲜水果 . 服饰鞋帽 . 图书音像 . 粮油食品.家具家 ...
- Oracle中的AS和IS
Oracle中的AS和IS是ORACLE为了方便而设置的同义词基本上没有不同 . 使用规则: 1.在创建存储过程(PROCEDURE)/函数(FUNCTION),以及自定义类型(TPYE)和包(PAC ...