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的更多相关文章
随机推荐
- Amoeba搞定mysql主从读写分离
前言:一直想找一个工具,能很好的实现mysql主从的读写分离架构,曾经试用过mysql-proxy发现lua用起来很不爽,尤其是不懂lua脚本,突然发现了Amoeba这个项目,试用了下,感觉还不错,写 ...
- HDU 1394-Minimum Inversion Number(BIT)
题意: 给你n个数字的序列 每次把第一个数字放到最后 得到一个新序列 一共有n个序列求这些序列中哪个序列含最小的总的逆序数 (输出最小总逆序数) 分析: 用BIT求出初始各数的逆序数,第一个数放最后它 ...
- js前端验证时间大小
replace(/\-/g, "\/")是根据验证表达式把日期转化成长日期格式 function checkStartTimeAndEndTime(startTime, endTi ...
- oracle spfile和pfile文件
pfile(Parameter File)从oracle8i开始使用,在oracle9i中也可以用.它以文本文件的形式存在,可以用vi等编辑器对 其中数据库参数进行修改.文件格式为initSID.or ...
- Leetcode OJ : Compare Version Numbers Python solution
Total Accepted: 12400 Total Submissions: 83230 Compare two version numbers version1 and version2 ...
- linux命令getopts
一.getopts 简介 由于shell命令行的灵活性,自己编写代码判断时,复杂度会比较高.使用内部命令 getopts 可以很方便地处理命令行参数.一般格式为: getopts options va ...
- 【转载】sed命令详解
[转载自]http://www.cnblogs.com/edwardlost/archive/2010/09/17/1829145.html sed -i 把后面的操作后的文本输出回原文本 ...
- HDU-4705 Y 树形DP
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4705 题意:给一颗树,从树上任意选择3个点{A,B,C},要求他们不在一条链上,求总共的数目. 容易想 ...
- angularjs 中ie兼容性的问题收集
今天在项目中做ie8的兼容的时候,发现angularjs中一些内容这样写有问题,那样写就没有问题了,自己记录一下内容: 如果遇到了ie8中使用$http.post请求不到数据的时候,以下的方法是获取不 ...
- AVLTree的节点删除
当年实现自己的共享内存模板的时候,map和set的没有实现,本来考虑用一个AVLTree作为底层实现的,为啥,因为我当时的数据结构知识里面我和RBTree不熟,只搞过AVLTree,但当时我一直没有看 ...