Android学习(二十三)SubMenu 子菜单
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Android学习(二十三)SubMenu 子菜单,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含4338字,纯文字阅读大概需要7分钟。
内容图文
一、SubMenu子菜单
和功能菜单相似,但是可以添加子菜单。
二、实现步骤:
1、通过onCreateOptionsMenu方法创建子菜单,可以通过代码动态创建,也可以通过xml进行创建。
2、通过onOptionsItemSelected方法实现点击子菜单的事件。
三、参考代码:
1、通过代码动态创建子菜单:
main.java
package com.example.zhengcheng.submenudemo; import android.support.v7.app.ActionBarActivity; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; import android.view.SubMenu; import android.widget.Toast; public class MainActivity extends ActionBarActivity { @Override protectedvoid onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } @Override publicboolean onCreateOptionsMenu(Menu menu) { //通过代码动态创建子菜单 SubMenu menu_file = menu.addSubMenu("文件"); //创建文件菜单 SubMenu menu_edit = menu.addSubMenu("编辑"); //创建编辑菜单 //为文件菜单创建子菜单 menu_file.add(1, 101, 1, "新建"); menu_file.add(1, 102, 1, "打开"); menu_file.add(1, 103, 1, "保存"); menu_file.setHeaderTitle("文件操作"); //设置菜单标题 menu_file.setHeaderIcon(R.mipmap.ic_launcher); //设置菜单图标 //为编辑菜单创建子菜单 menu_edit.add(2, 101, 1, "复制"); menu_edit.add(2, 102, 1, "粘贴"); menu_edit.add(2, 103, 1, "剪切"); menu_edit.setHeaderTitle("编辑操作"); //设置菜单标题 menu_edit.setHeaderIcon(R.mipmap.ic_launcher); //设置菜单图标returntrue; } /** * 点击子菜单按钮后触发的操作 */ @Override publicboolean onOptionsItemSelected(MenuItem item) { switch (item.getGroupId()) { case 1: //点击了第一组子菜单,对应第一组子菜单下的按钮switch (item.getItemId()) { case 101: Toast.makeText(this, "点击了新建", Toast.LENGTH_SHORT).show(); break; case 102: Toast.makeText(this, "点击了打开", Toast.LENGTH_SHORT).show(); break; case 103: Toast.makeText(this, "点击了保存", Toast.LENGTH_SHORT).show(); break; } break; case 2: //点击了第二组子菜单,对应第二组子菜单下的按钮switch (item.getItemId()) { case 101: Toast.makeText(this, "点击了复制", Toast.LENGTH_SHORT).show(); break; case 102: Toast.makeText(this, "点击了粘贴", Toast.LENGTH_SHORT).show(); break; case 103: Toast.makeText(this, "点击了剪切", Toast.LENGTH_SHORT).show(); break; } break; } returnsuper.onOptionsItemSelected(item); } }
2、通过xml创建子菜单
生成子菜单文件
menu.xml
< menu xmlns:android ="http://schemas.android.com/apk/res/android" xmlns:app ="http://schemas.android.com/apk/res-auto" xmlns:tools ="http://schemas.android.com/tools" tools:context =".MainActivity" > < item android:title ="文件" app:showAsAction ="never" > < menu > < item android:id ="@+id/menu_new" android:title ="新建" /> < item android:id ="@+id/menu_open" android:title ="打开" /> < item android:id ="@+id/menu_save" android:title ="保存" /> < item android:id ="@+id/menu_exit" android:title ="退出" /> </ menu > </ item > < item android:title ="编辑" app:showAsAction ="never" > < menu > < item android:id ="@+id/menu_copy" android:title ="复制" /> < item android:id ="@+id/menu_paste" android:title ="粘贴" /> < item android:id ="@+id/menu_cut" android:title ="剪切" /> </ menu > </ item > </ menu >
main.java:后台代码文件
package com.example.zhengcheng.submenudemo; import android.os.Bundle; import android.support.v7.app.ActionBarActivity; import android.view.Menu; import android.view.MenuInflater; import android.view.MenuItem; import android.widget.Toast; public class MainActivity extends ActionBarActivity { @Override protectedvoid onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } @Override publicboolean onCreateOptionsMenu(Menu menu) { //导入xml菜单内容 MenuInflater inflater = getMenuInflater(); inflater.inflate(R.menu.menu_main, menu); returntrue; } /** * 点击子菜单按钮后触发的操作 */ @Override publicboolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case R.id.menu_new: Toast.makeText(this, "点击了新建", Toast.LENGTH_SHORT).show(); break; case R.id.menu_open: Toast.makeText(this, "点击了打开", Toast.LENGTH_SHORT).show(); break; case R.id.menu_save: Toast.makeText(this, "点击了保存", Toast.LENGTH_SHORT).show(); break; case R.id.menu_exit: Toast.makeText(this, "点击了退出", Toast.LENGTH_SHORT).show(); finish(); break; case R.id.menu_copy: Toast.makeText(this, "点击了复制", Toast.LENGTH_SHORT).show(); break; case R.id.menu_paste: Toast.makeText(this, "点击了粘贴", Toast.LENGTH_SHORT).show(); break; case R.id.menu_cut: Toast.makeText(this, "点击了剪切", Toast.LENGTH_SHORT).show(); break; } returnsuper.onOptionsItemSelected(item); } }
原文:http://www.cnblogs.com/zhengcheng/p/4437623.html
内容总结
以上是互联网集市为您收集整理的Android学习(二十三)SubMenu 子菜单全部内容,希望文章能够帮你解决Android学习(二十三)SubMenu 子菜单所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。