- 浏览: 1589191 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (289)
- java 语法基础 (51)
- spring (8)
- mvc struct /Ant --build.xml (8)
- SOA (0)
- oracle 9i/10g (23)
- sql server 2000-2005 (3)
- 数据库基础知识 (6)
- 设计模式与软件架构 (10)
- Hibernate 持久化 (9)
- J2SE/J2EE/J2ME/AJAX 技术 (8)
- JSF 技术 (3)
- JAVA 图形化 (0)
- JMS (40)
- Eclipse 3.2 IDE 开发技巧 (13)
- 项目处理方法集合 (2)
- html/jsp/javascript (2)
- Unix/Linux (9)
- j2me/ARM/windriver/嵌入式 (4)
- 电信科学 (8)
- jsp (1)
- c/c++ (1)
- LZW压缩算法(java) (2)
- Android (77)
- 版本管理git/svn (2)
最新评论
-
huihai:
有demo吗?
NamingStrategy实现动态表名映射 -
cangbaotu:
推荐给大家一些有用的爬虫源码:https://github.c ...
网络爬虫(源代码参考) -
tuspark:
除了.classpath文件以外,.project文件也应该了 ...
Eclipse .classpath文件浅谈 -
tuspark:
造成eclipse自动关闭的原因有很多,这里有很多介绍:ecl ...
eclipse 自动关闭 解决方案 -
DEMONU:
网上都是这些,这种文章。。。
ActiveMQ中的消息持久性
Android Menus
文章分类:移动开发
1.Options Menu.
通过按下手机上的MENU键,可以打开Options Menu。Options Menu最多只能在屏幕最下面显示6个菜单项,称为Icon Menu.如果添加了多于6个的菜单项,将通过"More"菜单项显示,这种称为Expanded Menu.当Options Menu第一次被打开时,系统将调用Activity的onCreateOptionsMenu(Menu menu)方法,在这个方法中可以通过配置一个XML文件,或者调用Menu的add()方法来添加你想要的Menu。Menu的add()方法将返回一个MenuItem对象,你用通过这个对象来配置一些其他属性。比如:icon,shortcut,intent。Menu的add()方法很多,要注意的是itemId这个参数,它的唯一性。
当选择了一个Options Menu时,会调用onOptionsItemSelected(MenuItem item)方法。如果想修改Options Menu,需要重写onPrepareOptionsMenu()方法。
用add()添加:
- /* Creates the menu items */
- public boolean onCreateOptionsMenu(Menu menu) {
- menu.add(0, MENU_NEW_GAME, 0, "New Game");
- menu.add(0, MENU_QUIT, 0, "Quit").setIcon(R.drawable.menu_quit_icon);
- return true;
- }
- /* Handles item selections */
- public boolean onOptionsItemSelected(MenuItem item) {
- switch (item.getItemId()) {
- case MENU_NEW_GAME:
- newGame();
- return true;
- case MENU_QUIT:
- quit();
- return true;
- }
- return false;
- }
/* Creates the menu items */ public boolean onCreateOptionsMenu(Menu menu) { menu.add(0, MENU_NEW_GAME, 0, "New Game"); menu.add(0, MENU_QUIT, 0, "Quit").setIcon(R.drawable.menu_quit_icon); return true; } /* Handles item selections */ public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case MENU_NEW_GAME: newGame(); return true; case MENU_QUIT: quit(); return true; } return false; }
通过XML文件添加:
在res/menu/下新建options_menu.xml文件:
- <menu xmlns:android="http://schemas.android.com/apk/res/android">
- <item android:id="@+id/new_game"
- android:title="New Game" />
- <item android:id="@+id/quit"
- android:title="Quit" />
- </menu>
<menu xmlns:android="http://schemas.android.com/apk/res/android"> <item android:id="@+id/new_game" android:title="New Game" /> <item android:id="@+id/quit" android:title="Quit" /> </menu>
在onCreateOptionsMenu()方法中,我们这样写:
- public boolean onCreateOptionsMenu(Menu menu) {
- MenuInflater inflater = getMenuInflater();
- inflater.inflate(R.menu.options_menu, menu);
- return true;
- }
public boolean onCreateOptionsMenu(Menu menu) { MenuInflater inflater = getMenuInflater(); inflater.inflate(R.menu.options_menu, menu); return true; }
2.Context Menu.
它需要注册到某个View对象上,当长按这个View大概2秒时间,会出现这个Context Menu。为某个View注册Context Menu是用registerForContextMenu(View view)方法来实现。Context Menu在显示前都会调用onCreateContextMenu来生成menu。onContextItemSelected用来处理选中的菜单项。注意:Context Menu不支持icons和shortcut keys.
- public void onCreateContextMenu(ContextMenu menu, View v,
- ContextMenuInfo menuInfo) {
- super.onCreateContextMenu(menu, v, menuInfo);
- menu.add(0, EDIT_ID, 0, "Edit");
- menu.add(0, DELETE_ID, 0, "Delete");
- }
- public boolean onContextItemSelected(MenuItem item) {
- AdapterContextMenuInfo info = (AdapterContextMenuInfo) item.getMenuInfo();
- switch (item.getItemId()) {
- case EDIT_ID:
- editNote(info.id);
- return true;
- case DELETE_ID:
- deleteNote(info.id);
- return true;
- default:
- return super.onContextItemSelected(item);
- }
- }
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) { super.onCreateContextMenu(menu, v, menuInfo); menu.add(0, EDIT_ID, 0, "Edit"); menu.add(0, DELETE_ID, 0, "Delete"); } public boolean onContextItemSelected(MenuItem item) { AdapterContextMenuInfo info = (AdapterContextMenuInfo) item.getMenuInfo(); switch (item.getItemId()) { case EDIT_ID: editNote(info.id); return true; case DELETE_ID: deleteNote(info.id); return true; default: return super.onContextItemSelected(item); } }
注册这个Context Menu:
registerForContextMenu(getListView());
这里的
Context Menu。getListView()
是ListActivity的方法,它将返回一个ListView.记住任何一个View对象都可以注册一个
3.Submenus
- public boolean onCreateOptionsMenu(Menu menu) {
- boolean result = super.onCreateOptionsMenu(menu);
- SubMenu fileMenu = menu.addSubMenu("File");
- SubMenu editMenu = menu.addSubMenu("Edit");
- fileMenu.add("new");
- fileMenu.add("open");
- fileMenu.add("save");
- editMenu.add("undo");
- editMenu.add("redo");
- return result;
- }
public boolean onCreateOptionsMenu(Menu menu) { boolean result = super.onCreateOptionsMenu(menu); SubMenu fileMenu = menu.addSubMenu("File"); SubMenu editMenu = menu.addSubMenu("Edit"); fileMenu.add("new"); fileMenu.add("open"); fileMenu.add("save"); editMenu.add("undo"); editMenu.add("redo"); return result; }
4.Menu Features
Menu groups 菜单项分组的功能:
在用Menu的add()方法时,通过参数groupId的设置可以实现分组。setGroupVisible()用来显示或者隐藏你的菜单组。setGroupEnabled()用来启用或者禁用你的菜单组。setGroupCheckable()用来设置你的菜单项是否可选。 setGroupCheckable()
方法有三个参数int group, boolean checkable, boolean exclusive。第一个参数是要设置的组,第二个参数是否可选,第三个参数为true表示单选,false表示多选。
Shortcut keys 快捷键:
我们还可以设置快捷键。使用setAlphabeticShortcut(char),setNumericShortcut(int),setShortcut(char,int)可以设置字符,数字,组合(字符+数字)键。注意:Context Menu不能添加快捷键。
发表评论
文章已被作者锁定,不允许评论。
-
APN(default、mms、supl、dun、hipri接入点类型的区别)
2013-10-10 19:31 45799设置APN上网时,大家可能经常遇到这个问题:为什么有时要填写 ... -
AMR音频编码器概述及文件格式分析
2013-10-10 19:29 3949全称Adaptive Multi-Rate,自适应多速率编码 ... -
pad 强制加载 Hdpi资源 (2.3 dpi < 240)
2012-07-16 16:47 0pad 强制加载 Hdpi资源 (2.3 dpi < ... -
android 设计模式-享元模式
2011-12-16 23:01 2190享元(FlyWeight)模式,原意是“轻量级”模式,它用来解 ... -
statusbar 2.3
2011-11-08 16:04 1277以前我的文章分析过Stat ... -
android 输入法默认设置
2011-07-07 14:00 7189设置默认输入法 在 frameworks\base\co ... -
Android Media Scanner Process
2011-06-06 22:58 3399下面是系统图 Medi ... -
handler与多线程消息处理
2011-06-04 13:42 8277在Android下面也有多线程的概念,在C/C++中,子线程可 ... -
android light
2011-03-24 16:15 3407背光设置是在:设置->声音和显示->亮度,通过进度 ... -
PowerManagerService sensor
2011-03-22 20:06 2667默认分类 2010-12-24 14:34:55 阅读144 ... -
android 单例
2011-02-15 09:26 42201. Framework层的代码: A ... -
Android 开发之 Services 服务
2010-11-02 18:21 4236Service Service ... -
深入学习android之AlarmManager
2010-11-01 16:50 34751对应AlarmManage有一个Alarm ... -
eclipse+android+ddms+adt
2010-09-14 10:30 8451用eclipse + ADT作为android ... -
Android开机自启动应用开发
2010-08-28 10:07 4588目前需要开发一个开机自启动的GTD应用程序来提醒用户的 ... -
Android2.1_Launcher学习笔记
2010-08-11 13:40 3865文章分类:移动开发 好么,2.0的源码没看几天,2.1的 ... -
Browsing Android Source in Eclipse
2010-08-09 16:00 3431Google’s Android SDK includes ... -
android 编译
2010-08-07 16:31 25191 我的系统是Ubuntu 8.04 * 2 系统上 ... -
Ubuntu linux 右键添加"以管理员身份打开","在终端中打开"
2010-08-02 15:04 4638Ubuntu linux 右键添加"以管理员身份打开 ... -
自制android1.5的源码包
2010-08-02 13:44 1895最近打算玩下android,听hong老大说最好看看源码。而a ...
相关推荐
《CSS下拉菜单设计专家:Visual Infinite Menus深度解析》 在网页设计中,下拉菜单作为导航系统的重要组成部分,其美观性和功能性至关重要。Visual Infinite Menus是一款专注于CSS下拉菜单设计的专业工具,它以其...
《iStat Menus 6.4.1:Mac系统监控利器》 iStat Menus,作为一款备受赞誉的Mac系统监控软件,版本6.4.1的发布为用户带来了更为全面且直观的系统状态监测体验。这款软件的核心价值在于帮助用户实时了解其Mac设备的...
iStat Menus可以监控包括CPU、内存使用情况、磁盘使用情况、网络流量、风扇转速、温度等多个方面。该软件界面高度可定制,用户可以按照个人喜好和需求来显示不同的信息,并通过菜单栏进行快速访问。由于它显示的信息...
FlyoutMenus Simple material-style flyout menus for Android. There are many flyout type menus for Android, but this one is mine. compile 'org.zakariya.flyoutmenus:flyoutmenu:0.5.3' minSdkVersion: 14 ...
“Dreamweaver从现存的menus.xml创建菜单时遇到问题。请删除现在的menus.xml文件并重命名menus.bak到menus.xml“,你只要安装一个出错,任何版本也不能避免,装了一样出错,这方法很容易解决你的问题。
"infinite_menus" 软件可能是专门设计来帮助开发者创建这种交互式菜单的工具。在本文中,我们将深入探讨无限下拉菜单的概念、其在IT领域的应用以及可能的实现方式。 无限下拉菜单的核心是通过JavaScript或者CSS...
《iStat Menus for Mac:全面了解你的Mac硬件状态》 在数字时代,我们的工作和生活中离不开各种设备,其中Mac电脑以其优雅的设计和强大的性能深受用户喜爱。然而,对于一台复杂的电子设备而言,了解其运行状况是至...
在Laravel框架中,`laravel-menus`是一个非常实用的包,用于帮助开发者构建和管理网站的导航菜单。这个包提供了丰富的功能,使得在 Laravel 应用中创建、维护和展示动态菜单变得简单易行。现在我们来深入探讨一下`...
iStat Menus For Mac v6.0.0(905) 序列号 iStat Menus Mac版让您可以从菜单中监控系统。包括8个菜单附件,让您监控系统的各个方面。 功能: CPU - 监视CPU使用情况。 7种显示模式,多核心支持。 内存 - 监视内存...
iStat Menus是一款强大的系统监控工具,专为Mac OS X(现称为macOS)用户设计。这个6.4.1beta版本是软件的更新迭代,旨在改进和优化用户体验,特别是针对较新的Mac设备,如2020款的MacBook Pro(mbp13)。在这一版本...
### ComponentOne Menus 和 Toolbars for WinForms 相关知识点 #### 一、概述 - **ComponentOne Menus 和 Toolbars for WinForms** 是一套专为 Windows Forms 应用程序设计的强大工具集,用于创建多样化的菜单和...
iStat Menus 是一款位于macOS状态栏菜单的系统活动监控器,可以帮助您轻松监控系统活动和资源使用情况。您可以及时查看分析您的CPU和GPU,内存,磁盘,网络,传感器,电池或时间,别外还支持在mac的任务栏显示天气,...
**istat menus for OS X 10.9:监控系统状态的强大工具** istat menus 是一款专为苹果Mac操作系统设计的系统监控工具,它能够实时显示计算机的各种关键性能指标,如CPU使用率、内存占用、硬盘活动、网络流量、温度...
"过渡很平滑的Infinite Menus"是一个专门针对菜单导航的JavaScript特效,它的核心在于提供一种无限滚动、平滑过渡的视觉效果,从而提升用户界面的吸引力和可用性。这个特效不仅注重功能的完善,还强调了用户体验的...
标题"laravel开发-menus"指的是创建一个独立于Laravel核心但适用于该框架的菜单构建器。下面我们将深入探讨这个主题。 首先,让我们了解Laravel中的菜单构建器概念。菜单构建器通常是一个服务提供者,它提供了创建...
**iStat Menus** 是一款专为Mac用户设计的强大系统监控工具,它允许用户自定义配置,以便实时监测和管理CPU、内存、能耗、传感器以及风扇等关键硬件状态。这款软件以其直观的界面和详尽的数据展示而备受赞誉,帮助...
iStat Menus是一款专为苹果Mac用户设计的系统监控工具,它能提供详细的系统状态信息,包括CPU使用率、内存占用、硬盘活动、网络流量、温度监控以及电池状态等。这款应用通过在菜单栏上显示实时数据,让用户可以随时...
"CSS3 Animation Menus 鼠标经过" 是一种常见的交互设计技术,它允许用户在鼠标指针悬停在菜单项上时触发一系列动态效果,使网站的导航更有趣且更具吸引力。 一、CSS3动画基础 CSS3的动画功能主要通过`@keyframes`...