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的更多相关文章
随机推荐
- 【转】ubuntu下自动挂载硬盘分区
1, 首先摸清我系统的硬盘分区等使用情况 sudo fdisk -l Disk /dev/sda: 128.0 GB, 128035676160 bytes 255 heads, 63 sectors ...
- 【原创】使用Nmon_Analyzer处理较大nmon文件的方法
1 编写目的 进行性能测试时,测试服务器使用的操作系统是Linux或Unix时,我们一般会使用Nmon工具进行操作系统资源监控数据的收集.Nmon工具是一款非常优秀的性能监控和分析工具,它能够实时地收 ...
- bzoj 3529 [Sdoi2014]数表(莫比乌斯反演+BIT)
Description 有一张N×m的数表,其第i行第j列(1 < =i < =礼,1 < =j < =m)的数值为能同时整除i和j的所有自然数之和.给定a,计算数表中不大于a ...
- 设置按钮背景图片(HTML-CSS)
很多人提交表单时都喜欢用一个图片来作为提交按钮,大多数人可能用JS去操作表单的提交,即当用户点击这个图片时响应一个JS来提交表单.其实还有一种方法,就是直接设置SUBMIT按钮的图片背景.设置它的图片 ...
- Android知识点
下面这段activity的配置可以防止onCreate方法在锁屏或者屏幕旋转时被调用,转而调用onConfigurationChanged方法,避免onCreate重复调用 <activity ...
- 软件工程 --- Pair Project: Elevator Scheduler [电梯调度算法的实现和测试]
软件工程 --- Pair Project: Elevator Scheduler [电梯调度算法的实现和测试] 说明结对编程的优点和缺点. 结对编程的优点如下: 在独立设计.实现代码的过程中不 ...
- SaltStack管理从这里开始
Modules 1:查看所有module列表: salt 'jcfx-4' sys.list_modules jcfx-4: - acl - aliases - alternatives - apac ...
- Mac OS环境下媒体文件分割工具mediafilesegmenter的简单使用(生成M3U8 TS文件)
mediafilesegmenter是苹果开发的一款用于分割媒体文件的工具,其功能与mediastreamsegmenter相似,但操作更简单. * 具体可以对比博客中的另一篇简介<Mac OS ...
- Datatable的Select()方法简介
DataTable是我们在进行开发时经常用到的一个类,并且经常需要对DataTable中的数据进行筛选等操作,下面就介绍一下Datatable中经常用到的一个方法——Select,微软提供了四个函数的 ...
- ALV 插入可编辑的空行
在FCAT 中 设置需要的字段为 可以编辑,然后LOOP 显示 ALV 的内表,将不需要的行设置为 不可编辑 1. 在ALV用的内表中添加控制 style 的 内表 TYPES:BEGIN OF TY ...