菜单

menu ——菜单默认隐藏

——实现菜单的接口:

  1. Menu,父接口,用于创建主菜单
  2. SubMenu继承Menu接口,用于创建子菜单
  3. ContextMenu接口继承Menu接口,用于创建上下文菜单
  4. MenuItem接口用户创建菜单项

1.选项菜单

  基本方法:

    •  public boolean onCreateOptionsMenu(Menu menu)

     在此方法之中设置多个菜单项(MenuItem)

      • 返回值:返回true表示显示菜单,反之则不显示
    •   public boolean onOptionsItemSelected(MenuItem item)

      在此方法之中判断菜单项的操作

    •   public void onOptionsMenuClosed(Menu menu)

     当菜单关闭时触发此操作

    •   public boolean onPrepareOptionsMenu(Menu menu)

     在菜单显示前触发此操作

      • 返回值:返回true则继续调用OnCreateOptionsMenu(方法),反之则不再调用

  1. 在方法中定义菜单
  2. 在资源文件中定义菜单

    1) 在res文件夹下创建menu文件夹

    2) 在menu文件夹下创建options.xml

<menu
xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/save"
android:title="保存信息">
</item>
<item android:id="@+id/delete"
android:title="删除信息">
</item>
<item android:id="@+id/help"
android:title="帮助">
<menu>
<item android:id="@+id/item01"
android:title="说明">
</item>
<item android:id="@+id/item02"
android:title="简介">
</item>
</menu>
</item>
</menu>
 1 protected void onCreate(Bundle savedInstanceState) {
2 super.onCreate(savedInstanceState);
3 setContentView(R.layout.main);
4 }
5 public boolean onCreateOptionsMenu(Menu menu) {
6 //1.在方法中定义菜单
7 //menu.add("增加");
8 //menu.add("删除");
9 //SubMenu sm=menu.addSubMenu("帮助");
10 //sm.add("简介");
11 //sm.add("说明");
12 //2.在资源文件中定义菜单
13 //创建菜单资源解析对象
14 MenuInflater mif = getMenuInflater();
15 //解析菜单资源
16 mif.inflate(R.menu.options, menu);
17 return super.onCreateOptionsMenu(menu);
18 }
19 //重写Activity类中的方法在该方法中编写菜单项被选中后的事件代码
20 public boolean onOptionsItemSelected(MenuItem item) {
21 switch (item.getItemId()) {
22 case R.id.save:
23 Toast.makeText(this, "选中保存", 500).show();
24 break;
25 case R.id.delete:
26 Toast.makeText(this, "选中删除", 300).show();
27 break;
28 }
29 return super.onOptionsItemSelected(item);
30 }

2.上下文菜单

  基本方法:

    • public void onCreateContextMenu(ContextMenu menu,

View v, ContextMenu. ContextMenuInfo menuInfo)

    在此方法之中可以设置所需要的显示的所有菜单项

    • public boolean onContextItemSelected(MenuItem item)

    当某一个菜单项被选中时触发此操作

    • public void onContextMenuClosed(Menu menu)

    当菜单项关闭时触发此操作

<menu>
<item android:id="@+id/save"
android:title="保存信息"/>
<item android:id="@+id/delete"
android:title="删除信息"/>
<item android:id="@+id/help"
android:title="帮助"/>
</menu>
 1 protected void onCreate(Bundle savedInstanceState) {
2 super.onCreate(savedInstanceState);
3 setContentView(R.layout.main);
4 //长按文本框出现上下文菜单
5 TextView tv=(TextView) findViewById(R.id.TextView01);
6 registerForContextMenu(tv);
7 }
8 public void onCreateContextMenu(ContextMenu menu,
9 View v, ContextMenuInfo menuInfo) {
10 super.onCreateContextMenu(menu, v, menuInfo);
11 MenuInflater flater=getMenuInflater();
12 flater.inflate(R.menu.options,menu);
13 menu.setHeaderIcon(R.drawable.b);
14 menu.setHeaderTitle("信息操作");
15 }

菜单(menu)的更多相关文章

  1. Ecshop 后台增加一个左侧列表菜单menu菜单的方法

    Ecshop 后台增加一个左侧列表菜单menu菜单需要修改三个文件:/admin/includes/inc_menu.php/admin/includes/inc_priv.php/languages ...

  2. yii2 rbac权限控制之菜单menu详细教程

    作者:白狼 出处:http://www.manks.top/article/yii2_rbac_menu本文版权归作者,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则 ...

  3. yii2权限控制rbac之菜单menu最详细教程

    前面我们在博文 yii2搭建完美后台并实现rbac权限控制实例教程中完美实现了yii2的后台搭建和rbac权限控制,如果你还没有实现,请先看上文再回来参考本文,因为本文是在上文的基础上进行完善和补充. ...

  4. 后台增加一个左侧列表菜单menu菜单的方法

    Ecshop 后台增加一个左侧列表菜单menu菜单需要修改三个文件:/admin/includes/inc_menu.php/admin/includes/inc_priv.php/languages ...

  5. 解决android4.0系统中菜单(Menu)添加Icon无效问题

    本文转载自: http://blog.csdn.net/stevenhu_223/article/details/9705173 在Android4.0系统中,创建菜单Menu,通过setIcon方法 ...

  6. 【转】Ecshop 后台增加一个左侧列表菜单menu菜单的方法

    cshop 后台增加一个左侧列表菜单menu菜单需要修改三个文件:/admin/includes/inc_menu.php/admin/includes/inc_priv.php/languages/ ...

  7. Android-上下文菜单Menu

    上一篇博客介绍了,Android-普通菜单Menu,而这篇博客介绍Android-上下文菜单Menu AndroidManifest.xml 中加入权限: <!-- 读取联系人数据的权限 --& ...

  8. Android-普通菜单Menu

    第一种方式,使用Java方式 第二种方式,使用menu.xml package liudeli.activity; import android.app.Activity; import androi ...

  9. 菜单Menu(AS开发实战第四章学习笔记)

    4.5 菜单Menu Android的菜单主要分两种,一种是选项菜单OptionMenu,通过按菜单键或点击事件触发,另一种是上下文菜单ContextMenu,通过长按事件触发.页面的布局文件放在re ...

  10. GUI的最终选择 Tkinter(七):菜单Menu组件、Menubutton组件、OptionMenu组件

    Menu组件 今天说的Menu组件就是一些菜单组件,开始点点点... Tkinter提供了一个Menu组件,可以实现顶级菜单,下拉菜单和弹出菜单.由于底层是代码实现和优化的,所以不太建议通过按钮和其他 ...

随机推荐

  1. kafka笔记6

    我们讨论可靠性时,一般使用保证这个词,它是确保系统在各种不同的环境下能够发生一致的行为.Kafka可以在哪些方面作出保证呢? 1.Kafka可以保证分区消息的顺序 2.只有消息被写入分区的所有同步副本 ...

  2. shell多线程(2)之基于管道实现并发

    在shell脚本里批量执行程序是比较常见的方式,如果程序很多,每个执行时间比较长,则顺序执行需要花费大量的时间. 此时并发就成为我们考虑的方向. 上篇<shell多线程>中我们已经简单实现 ...

  3. Spring Boot:实现MyBatis分页

    综合概述 想必大家都有过这样的体验,在使用Mybatis时,最头痛的就是写分页了,需要先写一个查询count的select语句,然后再写一个真正分页查询的语句,当查询条件多了之后,会发现真的不想花双倍 ...

  4. Hive —— 安装部署

    一.安装Hive 1.1 下载并解压 下载所需版本的Hive,这里我下载版本为cdh5.15.2.下载地址:http://archive.cloudera.com/cdh5/cdh/5/ # 下载后进 ...

  5. pc微信浏览器打开页面显示空白,其他浏览器正常

    pc微信浏览器不兼容es6的语法糖.

  6. 系统学习 Java IO (四)----文件的读写和随机访问 FileInputStream/FileOutputStream & RandomAccessFile

    目录:系统学习 Java IO---- 目录,概览 文件输入流 FileInputStream 这是一个简单的FileInputStream示例: InputStream input = new Fi ...

  7. 消息驱动式微服务:Spring Cloud Stream & RabbitMQ

    1. 概述 在本文中,我们将向您介绍Spring Cloud Stream,这是一个用于构建消息驱动的微服务应用程序的框架,这些应用程序由一个常见的消息传递代理(如RabbitMQ.Apache Ka ...

  8. POJ 3621:Sightseeing Cows(最优比率环)

    http://poj.org/problem?id=3621 题意:有n个点m条有向边,每个点有一个点权val[i],边有边权w(i, j).找一个环使得Σ(val) / Σ(w)最大,并输出. 思路 ...

  9. JavaWeb知识点

  10. linux字符设备驱动--基本知识介绍

    一.设备驱动的分类 1.字符设备 字符设备是指那些能一个字节一个字节读取数据的设备,如LED灯.键盘.鼠标等.字符设备一般需要在驱动层实现open().close().read().write().i ...