android学习日记24--Android 菜单开发
菜单是任何应用程序必不可少的一项。按下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 菜单开发相关推荐
- android学习日记12--布局管理器
1.概述 布局管理器的用途: a.可以更好的管理组件; b.通过使用布局管理器,Android应用程序可以做到平台无关性 布局管理器都是ViewGroup的子类,所有可充当容器的父类都是ViewGro ...
- android学习日记 RecyclerView的简单使用
android学习日记 RecyclerView的简单使用 文章目录 android学习日记 RecyclerView的简单使用 一.如何使用RecyclerView? 二.使用步骤 1.首先在bui ...
- Android学习日记 Notification 通知
Android学习日记 Notification 通知 文章目录 Android学习日记 Notification 通知 前言 使用步骤 总结 前言 下拉状态栏显示的通知功能 使用步骤 代码如下: p ...
- Android学习笔记:Android基础知识点(不断更新中)
1.Android学习笔记:OkHttp 2.Android学习笔记:更新UI的方法(UI线程和非UI线程) 3.Android学习笔记:Volley 4.Android学习笔记:Handler 5. ...
- Android学习日记
2021.2.27 星期六 // TODO 2/27 // 标识符 字母数字下划线$组成 不能数字开头 区分大小写 // 关键字 // 变量 变量类型 变量名 驼峰法 变量值 // 类 Pascal ...
- android学习日记一
这几天在公司实习,公司主要是做android项目,以前在学校也学习过android,但是就学了点皮毛,在这里我准备把自己当做android一无所知的人,但是java会点的人,来系统的学习一下andro ...
- Android学习日记(1)
直接上代码: IBinder类: /* * Copyright (C) 2006 The Android Open Source Project * * Licensed under the Apac ...
- 【转】android学习日记01--综述
转自:http://www.cnblogs.com/aiguozhe/p/3541941.html 一.总体框架 先上一张google提供官方的Android框架图: Android系统架构由5部分组 ...
- android学习日记16--GridView(网格视图)
一.GridView 1.简述 GridView按照行列来显示图片或文本的一种视图,排列其实有点类似TableLayout布局, 不过和TableLayout还是差别很大的,倒比较像二维的ListVi ...
最新文章
- BZOJ 3241: [Noi2013]书法家
- iOS Swift UISearchController的取消按钮
- Time包详解二-timer和ticket.html
- org.hibernate.transientobjectexception:The given object has a null identifier: com.gxuwz.check.entit
- 带你学python基础:函数是个function?
- android在视频上放view,android在SurfaceView上播放视频
- 保存时间 默认_一些不起眼但又非常的实用的PPT制作技巧,大大节省PPT制作时间...
- 做能及之事,过平淡的日子,烦事多忘,好事多为
- python旋转排序数组_33.leetcode题目讲解(Python):搜索旋转排序数组
- JS中的类,类的继承方法
- [译]理解Node.js事件驱动机制
- Activity的Launch mode详解 singleTask正解
- 数组 , List互转
- EXCEL生成SQL脚本
- format mla_mlaformat是什么
- IDEA 配置文件位置
- 2019年 CCF 中国计算机学会推荐国际学术会议和期刊目录 最新版
- 导出excel换行问题,一个单元格多张图片问题,数组对象去重处理,计算属性传参
- 浅谈SSD RAID Parity设计
- 【热门收藏】iOS开发人员必看的精品资料(100个) ...
热门文章
- python 小说-用python给自己做一款小说阅读器过程详解
- python实现简单的api接口-python中接口的实现实例
- python语言是谁发明的咋读-Python的发明,竟然是因为他不喜欢花括号。
- python学会后月薪-零基础python培训后薪资有多少?
- pythonurllib模块-Python urllib模块 网络资源访问安装下载
- python turtle画彩虹-Python turtle 绘制彩色螺旋线
- python解一元二次方程步骤-一元二次方程解法的实现(Python)
- python创建一个txt文件-python新建txt文件,并逐行写入数据
- python好学吗 老程序员-为什么会有程序员不喜欢 Python?
- python基础知识资料-学习Python列表的基础知识汇总