Android中选项菜单(OptionMenu)的创建方法
使用OptionMenu
只要重写两个方法
public boolean onCreateOptionsMenu(Menu menu):菜单的初始化
public boolean onOptionsItemSelected(MenuItem item):菜单响应事件
除此之外,还有三个方法可以重写
public void onOptionsMenuClosed(Menu menu):菜单关闭时调用
public boolean onPrepareOptionsMenu(Menu menu):选项菜单显示前调用, 可在这里进行菜单的调整(动态加载菜单列表)
public boolean onMenuOpened(int featureId, Menu menu):选项菜单打开后调用
菜单的加载方式
编写菜单XML文件
首先在项目目录res文件夹中建立Menu文件夹,然后再其中创建需要的菜单,代码如下:
<?xml version="1.0" encoding="utf-8"?> <menu xmlns:android="http://schemas.android.com/apk/res/android"> <item android:id="@+id/add_item" android:title="Add" /> <item android:id="@+id/remove_item" android:title="Remove" /> </menu>
下面我们就在对应的代码中来装载这个定义的菜单XML布局文件,并处理响应事件:
@Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.main, menu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case R.id.add_item: Toast.makeText(this, "You clicked Add", Toast.LENGTH_SHORT).show(); break; case R.id.remove_item: Toast.makeText(this, "You clicked Remove", Toast.LENGTH_SHORT).show(); break; default: } return true; }
add方法实现
通过代码动态添加,onCreateOptionsMenu的参数menu,调用add方法添加菜单,add(菜单项的组号,ID,排序号,标题),另外如果排序号是按添加顺序排序的话都填0即可
@Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. menu.add(1,RED,1,"红色"); menu.add(1,GREEN,2,"绿色"); menu.add(1,BLUE,3,"蓝色"); return true; }
以上所述是小编给大家介绍的Android中选项菜单(OptionMenu)的创建方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!
相关推荐
-
Android UI实现SlidingMenu侧滑菜单效果
本篇博客给大家分享一个效果比较好的侧滑菜单的Demo,实现点击左边菜单切换Fragment. 效果如下: 主Activity代码: package com.infzm.slidingmenu.demo; import android.os.Bundle; import android.support.v4.app.Fragment; import android.view.View; import android.view.View.OnClickListener; import android
-
Android动态修改ToolBar的Menu菜单示例
Android动态修改ToolBar的Menu菜单 效果图 实现 实现很简单,就是一个具有3个Action的Menu,在我们滑动到不同状态的时候,把对应的Action隐藏了. 开始上货 Menu Menu下添加3个Item <menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xml
-
Android标题栏上添加多个Menu按钮的实例
Android标题栏上添加多个Menu按钮的实例 前言: 最近项目中碰到要在Android Menu旁边再添加一个按钮,而不是点击menu按钮然后在弹出一些选项. MainActivity代码: public class MainActivity extends Activity { private static final int MENU_CONFIRM = 17; @Override protected void onCreate(Bundle savedInstanceState) {
-
Android编程实现自定义PopupMenu样式示例【显示图标与设置RadioButton图标】
本文实例讲述了Android编程实现自定义PopupMenu样式.分享给大家供大家参考,具体如下: PopupMenu是Android中一个十分轻量级的组件.与PopupWindow相比,PopupMenu的可自定义的能力较小,但使用更加方便. 先上效果图: 本例要实现的功能如下: 1.强制显示菜单项的图标. 默认状态下,PopupMenu的图标是不显示的,并且Android没有为我们开放任何API去设置它的显示状态.为了显示菜单项的图标,可以自己重写PopupMenu并修改相关属性,也可以直接
-
Android制作微信app顶部menu菜单(ActionBar)
使用微信APP的小伙伴对于微信的ActionBar一定有印象,今天就带领大家一起实现以下这个效果. 第一步打开我们的开发工具,这里我使用的是Eclipse+ADT插件,然后创建我们的工程,这里选择Android的最低版本号为3.0或以上. 然后开始我们的"抄袭",首先打开我们微信,我们看到,顶部标题部分,分为左右两部分,左侧为"微信"两字,右侧则为搜索按钮+更多按钮,点击搜索按钮,会出现一个文本输入框.点击更多按钮,则会出现隐藏的menu菜单,分为:添加好友.发起群
-
Android使用Item Swipemenulistview实现仿QQ侧滑删除功能
大家都用过QQ,肯定有人好奇QQ滑动删除Item的效果是怎样实现的,其实我们使用Swipemenulistview就可以简单的实现.先看看我们项目中的效果: 使用的时候可以把Swipemenulistview作为一个library,也可以把Swipemenulistview的源码拷贝到我们的项目中来,使用步骤大致可以分为三步:1.在布局中配置:2.在Java代码中初始化配置:3.按钮点击事件的处理 1.在布局中配置 xml布局文件中只需要简单使用这个自定义的ListView就行了,需要注意的是
-
Android使用onCreateOptionsMenu()创建菜单Menu的方法详解
本文实例讲述了Android使用onCreateOptionsMenu()创建菜单Menu的方法.分享给大家供大家参考,具体如下: Android一共有三种形式的菜单: 1.选项菜单(optinosMenu) 2.上下文菜单(ContextMenu) 3.子菜单(subMenu) 其中最常用的就是选项菜单(optionsMenu), 该菜单在点击 menu 按键 后会在对应的Activity底部显示出来. 1.Activity菜单机制 (与dialog类似) Activity有一套机制来实现对菜
-
Android中选项菜单(OptionMenu)的创建方法
使用OptionMenu 只要重写两个方法 public boolean onCreateOptionsMenu(Menu menu):菜单的初始化 public boolean onOptionsItemSelected(MenuItem item):菜单响应事件 除此之外,还有三个方法可以重写 public void onOptionsMenuClosed(Menu menu):菜单关闭时调用 public boolean onPrepareOptionsMenu(Menu menu):选项
-
Android编程之菜单Menu的创建方法示例
本文实例讲述了Android编程之菜单Menu的创建方法.分享给大家供大家参考,具体如下: 在res目录下的menu文件夹下创建一个main.xml文件,内容如下: <?xml version="1.0" encoding="utf-8"?> <menu xmlns:android="http://schemas.android.com/apk/res/android"> <item android:id="
-
Android中Json数据读取与创建的方法
首先介绍下JSON的定义,JSON是JavaScript Object Notation的缩写. 一种轻量级的数据交换格式,具有良好的可读和便于快速编写的特性.业内主流技术为其提供了完整的解决方案(有点类似于正则表达式,获得了当今大部分语言的支持),从而可以在不同平台间进行数据交换.JSON采用兼容性很高的文本格式,同时也具备类似于C语言体系的行为. JSON的结构: (1) Name/Value Pairs(无序的):类似所熟知的Keyed list. Hash table.Disctiona
-
Android 中三种启用线程的方法总结
在多线程编程这块,我们经常要使用Handler(处理),Thread(线程)和Runnable这三个类,那么他们之间的关系你是否弄清楚了呢? 首先说明Android的CPU分配的最小单元是线程,Handler一般是在某个线程里创建的,因而Handler和Thread就是相互绑定的,一一对应. 而Runnable是一个接口,Thread是Runnable的子类.所以说,他俩都算一个进程. HandlerThread顾名思义就是可以处理消息循环的线程,他是一个拥有Looper的线程,可以处理消息循环
-
Android中底部菜单被输入法顶上去的解决方案
安卓手机输入法弹出,消失会触发 window.onresize事件,我们一般的解决方法是获取焦点,底部隐藏,失去焦点,底部菜单出现,但是,有些人会点击这个按钮收起键牌 那么,这个时候你的失去焦点无效,还有一种方法呢,是把position:fixed;改成position:absoult;这样底部菜单就不会顶上去,但是这种方法,经过我的实验,还是会被输入法顶上去,这两种方法都不要完全解决问题,还有一种是布局的问题,主页面:position:relative,底部菜单:position:absoul
-
Android中Market的Loading效果实现方法
本文实例讲述了Android中Market的Loading效果实现方法.分享给大家供大家参考.具体如下: 在Android中,要实现Loading效果,一般情况下都使用ProgressDialog控件.ApiDemos/src/com/example/android/apis/view/ProgressBar3.java 提供两个demo: 仔细看了Android Market,发现却是不一样的,请看截图: 那到底如何实现呢?首先,我们创建一个布局文件, res/layout/fullscree
-
Android中View的炸裂特效实现方法详解
本文实例讲述了Android中View的炸裂特效实现方法.分享给大家供大家参考,具体如下: 前几天微博上被一个很优秀的 Android 开源组件刷屏了 - ExplosionField,效果非常酷炫,有点类似 MIUI 卸载 APP 时的动画,先来感受一下. ExplosionField 不但效果很拉风,代码写得也相当好,让人忍不住要拿来好好读一下. 创建 ExplosionField ExplosionField 继承自 View,在 onDraw 方法中绘制动画特效,并且它提供了一个 att
-
Android中图片圆角三种实现方法
目录 方法一 方法二 方法三 Android 开发中,经常需要对图片进行二次处理,比如添加圆角效果 或 显示圆形图片: 方法一 通过第三方框架 Glide 设置圆角效果: 写法1: RequestOptions options = new RequestOptions().error(R.drawable.img_load_failure).bitmapTransform(new RoundedCorners(30));//图片圆角为30 Glide.with(this).load(URL) /
-
Android 中TextureView和SurfaceView的属性方法及示例说明
目录 实践过程 SurfaceView属性和方法 TextureView属性和方法 TextureView示例 SurfaceView示例 实践过程 SurfaceView属性和方法 surfaceCreated(@NonNull SurfaceHolder holder):surface创建时回调 surfaceDestroyed(@NonNull SurfaceHolder holder):surface销毁时回调 surfaceChanged(@NonNull SurfaceHolder
-
Android中WebView图片实现自适应的方法
本文实例讲述了Android中WebView图片实现自适应的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: WebSettings ws = tv.getSettings(); 加上这个属性后,html的图片就会以单列显示就不会变形占了别的位置 ws.setLayoutAlgorithm(LayoutAlgorithm.SINGLE_COLUMN); //让缩放显示的最小值为起始 webView.setInitialScale(5); // 设置支持缩放 webSettin
随机推荐
- Python实现备份文件实例
- JSP利用过滤器解决request中文乱码问题
- JQuery 的跨域方法推荐_可跨任何网站
- 让多个系统共享IE浏览器资源
- PHP的开合式多级菜单程序
- 通过脚本清空标签p中的class名和style 原创
- python实现获取Ip归属地等信息
- Android自定义View实现随手势滑动控件
- MySQL函数讲解(MySQL函数大全)
- Sqlserver 2000/2005/2008 的收缩日志方法和清理日志方法
- 幻灯片带网页设计中的20个奇妙应用示例小结
- Mysql安装与配置调优及修改root密码的方法
- 基于jQuery实现弹幕APP
- jquery实现动画菜单的左右滚动、渐变及图形背景滚动等效果
- jQuery中 prop() attr()使用详解
- 分享一个插件实现水珠自动下落效果
- 深入理解JavaScript系列(40):设计模式之组合模式详解
- java 遍历MAP的几种方法示例代码
- Javascript计算时间差的函数分享
- C#判断字符是否为汉字的三种方法分享