菜单是任何应用程序必不可少的一项。按下Menu键或者长按某个View就会弹出相应菜单,当然前提是应用程序有实现菜单功能。

Android平台下的菜单有:Options Menu(选项菜单)、Submenu(子菜单)、Context Menu(上下文菜单)。

这次的案例用以前的索尼真机测试,就不贴代码和运行截图,主要贴些理论知识。菜单这块比较简单,代码实例看这位仁兄写的

http://www.cnblogs.com/giuz/archive/2010/10/19/1855235.html

一、选项菜单和子菜单
  Options Menu和Submenu 是一组的,放在一起介绍,一般用于开发普通的选项菜单。

相关回调方法及说明:

涉及到相关类详解:

1、Menu类

  一个Menu对象代表一个菜单,Menu对象中可以添加菜单项MenuItem,也可以添加子菜单SubMenu。常用方法如下:


注意:clear() 方法用于清除已添加的菜单,通过代码运行中的clear()再add()可以用于动态配置菜单。

2、MenuItem类
  一个MenuIten对象代表一个菜单项,通常MenuItem实例通过Menu的add方法获得。常用方法如下:


注意:Android最多支持6个MenuItem,多了以后就摆在More里面。

3、SubMenu类
  一个SubMenu对象代表一个子菜单,可以理解为菜单的菜单,即Menu对象点进去弹出来的就叫子菜单,每个SubMenu实例代表一个子菜单,常用的方法如下

一般用法:
1、在主Activity中覆盖onCreateOptionsMenu(Menu menu)方法,子菜单也在这里添加
2、如果要添加点击事件,则要覆盖onOptionsItemSelected(MenuItem item)方法

二、上下文菜单
  Context Menu类似于电脑上的右键,长按某个View之后弹出来的菜单。也是继承自Menu,不同于选项菜单,
选项菜单服务于Activity,而上下文是注册到某个VIew对象上的。如果一个View对象注册了上下文菜单,用户可以通过长按两秒该View对象调出上下文菜单。

用法同普通菜单,方法名称由Options替换Context

三、用XML配置菜单
  注意到新建项目的MainActivity 都会重写onCreateOptionsMenu方法
里面代码:
getMenuInflater().inflate(R.menu.main, menu);
就是通过XML来设置菜单的。

如下在res/menu/main.xml 就是本来的配置菜单

1 <menu xmlns:android="http://schemas.android.com/apk/res/android" >
2
3     <item
4         android:id="@+id/action_settings"
5         android:orderInCategory="100"
6         android:showAsAction="never"
7         android:title="@string/action_settings"/>
8
9 </menu>

其他同再JAVA代码里的写法。

转载于:https://www.cnblogs.com/aiguozhe/p/3633302.html

android学习日记24--Android 菜单开发相关推荐

  1. android学习日记12--布局管理器

    1.概述 布局管理器的用途: a.可以更好的管理组件; b.通过使用布局管理器,Android应用程序可以做到平台无关性 布局管理器都是ViewGroup的子类,所有可充当容器的父类都是ViewGro ...

  2. android学习日记 RecyclerView的简单使用

    android学习日记 RecyclerView的简单使用 文章目录 android学习日记 RecyclerView的简单使用 一.如何使用RecyclerView? 二.使用步骤 1.首先在bui ...

  3. Android学习日记 Notification 通知

    Android学习日记 Notification 通知 文章目录 Android学习日记 Notification 通知 前言 使用步骤 总结 前言 下拉状态栏显示的通知功能 使用步骤 代码如下: p ...

  4. Android学习笔记:Android基础知识点(不断更新中)

    1.Android学习笔记:OkHttp 2.Android学习笔记:更新UI的方法(UI线程和非UI线程) 3.Android学习笔记:Volley 4.Android学习笔记:Handler 5. ...

  5. Android学习日记

    2021.2.27 星期六 // TODO 2/27 // 标识符 字母数字下划线$组成 不能数字开头 区分大小写 // 关键字 // 变量 变量类型 变量名 驼峰法 变量值 // 类 Pascal ...

  6. android学习日记一

    这几天在公司实习,公司主要是做android项目,以前在学校也学习过android,但是就学了点皮毛,在这里我准备把自己当做android一无所知的人,但是java会点的人,来系统的学习一下andro ...

  7. Android学习日记(1)

    直接上代码: IBinder类: /* * Copyright (C) 2006 The Android Open Source Project * * Licensed under the Apac ...

  8. 【转】android学习日记01--综述

    转自:http://www.cnblogs.com/aiguozhe/p/3541941.html 一.总体框架 先上一张google提供官方的Android框架图: Android系统架构由5部分组 ...

  9. android学习日记16--GridView(网格视图)

    一.GridView 1.简述 GridView按照行列来显示图片或文本的一种视图,排列其实有点类似TableLayout布局, 不过和TableLayout还是差别很大的,倒比较像二维的ListVi ...

最新文章

  1. BZOJ 3241: [Noi2013]书法家
  2. iOS Swift UISearchController的取消按钮
  3. Time包详解二-timer和ticket.html
  4. org.hibernate.transientobjectexception:The given object has a null identifier: com.gxuwz.check.entit
  5. 带你学python基础:函数是个function?
  6. android在视频上放view,android在SurfaceView上播放视频
  7. 保存时间 默认_一些不起眼但又非常的实用的PPT制作技巧,大大节省PPT制作时间...
  8. 做能及之事,过平淡的日子,烦事多忘,好事多为
  9. python旋转排序数组_33.leetcode题目讲解(Python):搜索旋转排序数组
  10. JS中的类,类的继承方法
  11. [译]理解Node.js事件驱动机制
  12. Activity的Launch mode详解 singleTask正解
  13. 数组 , List互转
  14. EXCEL生成SQL脚本
  15. format mla_mlaformat是什么
  16. IDEA 配置文件位置
  17. 2019年 CCF 中国计算机学会推荐国际学术会议和期刊目录 最新版
  18. 导出excel换行问题,一个单元格多张图片问题,数组对象去重处理,计算属性传参
  19. 浅谈SSD RAID Parity设计
  20. 【热门收藏】iOS开发人员必看的精品资料(100个) ...

热门文章

  1. python 小说-用python给自己做一款小说阅读器过程详解
  2. python实现简单的api接口-python中接口的实现实例
  3. python语言是谁发明的咋读-Python的发明,竟然是因为他不喜欢花括号。
  4. python学会后月薪-零基础python培训后薪资有多少?
  5. pythonurllib模块-Python urllib模块 网络资源访问安装下载
  6. python turtle画彩虹-Python turtle 绘制彩色螺旋线
  7. python解一元二次方程步骤-一元二次方程解法的实现(Python)
  8. python创建一个txt文件-python新建txt文件,并逐行写入数据
  9. python好学吗 老程序员-为什么会有程序员不喜欢 Python?
  10. python基础知识资料-学习Python列表的基础知识汇总