Android-SubMenu子菜单
2016-04-26 16:50
417 查看
目标效果:
程序运行点击菜单可显示“文件”和“编辑”两个菜单栏,点击“文件”又显示一个新菜单“新建”“打开”“保存”,点击“编辑” 又显示“复制”“粘贴”“剪切”,并且点击每一小项都会吐司弹出提示。
1.activity_main.xml页面不做修改。
2.程序中“文件”和“编辑”都是包含子菜单的菜单,“文件”是使用代码动态添加的,“编辑”是使用控件添加到main.xml页面中的。
main.xml页面:
3.MainActivity.java页面处理菜单的点击事件。
MainActivity.java页面:
4.总的来说,选择菜单,上下文菜单,子菜单的定义格式与点击事件基本类似,也都有布局添加菜单和代码动态添加菜单两种格式,互相之间也都有联系。
程序运行点击菜单可显示“文件”和“编辑”两个菜单栏,点击“文件”又显示一个新菜单“新建”“打开”“保存”,点击“编辑” 又显示“复制”“粘贴”“剪切”,并且点击每一小项都会吐司弹出提示。
1.activity_main.xml页面不做修改。
2.程序中“文件”和“编辑”都是包含子菜单的菜单,“文件”是使用代码动态添加的,“编辑”是使用控件添加到main.xml页面中的。
main.xml页面:
<menu xmlns:android="http://schemas.android.com/apk/res/android" > <item android:id="@+id/create" android:orderInCategory="100" android:showAsAction="never" android:title="编辑"> <menu > <item android:id="@+id/copy" android:showAsAction="never" android:title="复制"/> <item android:id="@+id/paste" android:showAsAction="never" android:title="粘贴"/> <item android:id="@+id/cut" android:showAsAction="never" android:title="剪切"/> </menu> </item> </menu>
3.MainActivity.java页面处理菜单的点击事件。
MainActivity.java页面:
package com.example.submenu; import android.os.Bundle; import android.app.Activity; import android.view.Menu; import android.view.MenuInflater; import android.view.MenuItem; import android.view.SubMenu; import android.widget.Toast; public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } @Override public boolean onCreateOptionsMenu(Menu menu) { SubMenu file=menu.addSubMenu("文件");//代码动态添加子菜单,参数为子菜单名字 //子菜单添加菜单项,参数一位分组的id,参数二为菜单项id,参数三为菜单项排序,参数四为菜单描述 file.add(1,1,1,"新建"); file.add(1,2,1,"打开"); file.add(1,3,1,"保存"); file.setHeaderTitle("文件操作");//设置标题 file.setHeaderIcon(R.drawable.ic_launcher);//设置图标 MenuInflater inflater=getMenuInflater();//添加xml布局作为子菜单 inflater.inflate(R.menu.main, menu); return true; } /*子菜单的点击事件*/ @Override public boolean onOptionsItemSelected(MenuItem item) { if(item.getGroupId()==1){ switch (item.getItemId()) { case 1: Toast.makeText(MainActivity.this,"点击了新建",Toast.LENGTH_SHORT).show(); break; case 2: Toast.makeText(MainActivity.this,"点击了打开",Toast.LENGTH_SHORT).show(); break; case 3: Toast.makeText(MainActivity.this,"点击了保存",Toast.LENGTH_SHORT).show(); break; } }else{ switch (item.getItemId()) { case R.id.copy: Toast.makeText(MainActivity.this,"点击了复制",Toast.LENGTH_SHORT).show(); break; case R.id.paste: Toast.makeText(MainActivity.this,"点击了粘贴",Toast.LENGTH_SHORT).show(); break; case R.id.cut: Toast.makeText(MainActivity.this,"点击了剪切",Toast.LENGTH_SHORT).show(); break; } } return super.onOptionsItemSelected(item); } }
4.总的来说,选择菜单,上下文菜单,子菜单的定义格式与点击事件基本类似,也都有布局添加菜单和代码动态添加菜单两种格式,互相之间也都有联系。
相关文章推荐
- Android中Activity和Fragment页面跳转
- AndroidBucket Android开发常用整理
- Android—TextView的XML属性和方法
- Android中一些常用的第三方特效架包集合 Android中一些常用的第三方特效架包集合
- Android多种样式的进度条
- android popupwindow位置
- android 滚动时间选择器
- 自定义View学习-绘制一个简单的圆
- Android图片压缩的几种方式
- Android SDK目录结构及作用
- android,一般动态注册广播的创建和适用具体方法
- android 批量打包
- Android Layout XML属性
- [Android]手机短信验证功能
- 15 个必知的 Android 开发者选项
- Android与H5数据交互
- Android 6.0运行时权限解决办法
- 新思路_Android同时显示多个跑马灯
- 超实用的Android手势锁制作实例教程
- Android的SharedPreferences和PreferenceActivity用法