菜单

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. C++按格式接收输入字符(京东,滴滴,360笔试必用)

    头一次起这种标题,为了对得起这个标题,我尽量多写点~ 最近还是一边实习一遍投简历--笔试--面试,然而发现了自己的好多问题. 在答了京东笔试(滴滴,360也是这样的)的题后,发现与腾讯,阿里等公司的不 ...

  2. Spark学习之路(十五)—— Spark Streaming 整合 Flume

    一.简介 Apache Flume是一个分布式,高可用的数据收集系统,可以从不同的数据源收集数据,经过聚合后发送到分布式计算框架或者存储系统中.Spark Straming提供了以下两种方式用于Flu ...

  3. php程序守护进程

    php命令程序实习守护进程2种方式: 1.使用nohup nohup php myprog.php > log.txt & 2.使用程序 function daemonize() { $ ...

  4. Enum的简单扩展

    1 添加一个描述的Attribute public enum MessageResult { [System.ComponentModel.Description("未通过")] ...

  5. eclipse的安装与使用方法

    eclipse的安装与使用方法: eclipse是Java编程利器,工欲善其事必先利其器.下面我们来说说eclipse的安装与使用: 安装分三步: 第一步:安装eclipse 1.官网下载eclips ...

  6. CentOS 7使用Elasticsearch

    安装ElasticSearch 下载依赖 Elasticsearch依赖jdk, 在官网下载jdk压缩包, 或者直接安装. 下载压缩包, 解压tar -xzvf jdk-8u181-linux-x64 ...

  7. 恢复云数据库MySQL的备份文件到自建数据库遇到的报错

    报错信息 : 恢复云数据库MySQL的备份文件到自建数据库,自建数据库版本5.6.36. 按照阿里云文档操作,启动数据库报错 -- :: [ERROR] /application/mysql/bin/ ...

  8. Delphi7中Unicode,ANSI,UTF编码问题

    注解: ANSI     'American Standard Code for Information Interchange' 美国信息互换标准代码 ANSI的'Ascii'编码 Unicode ...

  9. HBase Region重点剖析

    Region的概念 Region是HBase数据管理的基本单位.数据的move,数据的balance,数据的split,都是按照region来进行操作的. region中存储这用户的真实数据,而为了管 ...

  10. Python编程菜鸟成长记--A1--01--编程语言介绍

    目录 1.重点知识 2.什么是编程?为什么要编程? 3.有哪些编程语言? 3.1.机器语言 3.2.汇编语言 3.3.高级语言 3.3.1.编译型语言 3.3.2.解释型语言 3.4.小结 4.主流编 ...