Android用ContextMenu来代表上下文菜单,为Android应用开发上下文菜单与开发选项菜单的方法基本相似,因为ContextMenu继承了Menu,因此程序可用相同的方法为它添加菜单项。 当然,开发上下文菜单与开发选项菜单的区别在于:开发上下文菜单不是重写onCreateOptionsMenu(Menu menu)方法,而是重写onCreateContextMenu(ContextMenu menu,View source,ContextMenu.ContextMenuInfo menuInfo)方法。其中source参数代表触发上下文菜单的组件。 开发上下文菜单的步骤如下。 . Read More
有些时候,应用程序需要单击某个菜单项时启动其他Activity(包括其他Service)。对于这种需求,Android设置不需要开发者编写任何事件处理代码,只要调用MenuItem的setIntent(Intent intent)方法即可——该方法把该菜单项与指定Intent关联到一起,当用户单击该菜单时,该Intent所代表的组件将会被启动。 如下程序示范了如何通过菜单项来启动指定Activity。该程序几乎不包含任何界面组件,因此不给出界面布局文件。该程序的Java文件如下。package org.crazyit.helloworld;import android.os.Bundle;i. Read More
如果希望所创建的菜单项是单选菜单项或多选菜单项,则可以调用MenuItem的如下方法。setCheckable(boolean checkable):设置该菜单项是否可以被勾选。调用上面的方法后的菜单项默认是多选菜单项。如果希望将一组菜单里的单选菜单项都设为可勾选的菜单项,则可调用如下方法。setGroupCheckable(int group,boolean checkable,boolen exclusive):设置group组里的所有菜单项是否可勾选;如果将exclusive设为true,那么它们将是一组单选菜单项。 除此之外,Android还为MenuItem提供了如下方法来设置快捷. Read More
除了重写onOptionsItemSelected(MenuItem item)方法来为菜单单击事件编写响应之外,Android同样允许开发者为不同菜单分别绑定监听器。为菜单绑定监听器的方法为: setOnMenuItemClickListener(MenuItem.OnMenuItemClickListener menuItemClickListener) 在这种方式下,我们可以采用简单方法来添加菜单项,无须为每个菜单项指定ID。 一般来说,通过重写onOptionsItemSelected(MenuItem mi)方法来处理菜单的单击事件,更加简洁,因为所有的事件处理代码都控制在该方法内. Read More
菜单在桌面应用中使用十分广泛,几乎所有的桌面应用都有菜单。菜单在手机应用中的使用减少了不少(主要受到手机屏幕大小制约),但依然有不少手机应用会添加菜单。 与桌面应用的菜单不同,Android应用中的默认菜单是看不见的,只要当用户单击手机上的"Menu"键时,系统才会显示该应用关联的菜单,这种菜单叫选项菜单(OptionMenu)。 注意:从Android3.0开始,Android并不要求手机上必须提供Menu键,可能部分Android手机将不再提供Menu按键。在这样的情况下,Android推荐使用ActionBar来代替菜单。 选项菜单和子菜单(SubMenu) Andr Read More