Android SDK 开发之创建菜单
2010-03-23 04:18:00 来源:WEB开发网Shortcut keys 快捷键
可以使用 setAlphabeticShortcut(char) , setNumericShortcut(int)和or setShortcut(char,int)来设置一个菜单项的字母/数字/字母和数字快捷键. 例如:
menu.add(0, MENU_QUIT, 0, "Quit")
.setAlphabeticShortcut('q');
现在,当菜单打开时(或者按住MENU键时), 按下"q"键将选择这个选项.
这个快捷键将被显示为菜单项的一个提示, 在菜单项名称的下面.(除图标菜单之外).
Note: 快捷菜单项不能添加快捷键.
Menu item intents 菜单项intent
如果你读过应用程序基础一节, 你应该对Android Intent 有所了解. 它们允许应用程序互相绑定, 共享信息并合作. 就像你的应用程序可能发出一个intent来启动一个浏览器,一个邮件客户端, 或者你的应用程序中的另一个Activity一样,你可以从一个菜单项中完成这个操作. 有两种方法: 定义一个intent并将它赋给一个菜单项, 或者定义一个intent并让Android在设备中搜索activity并动态为每个合适的activity增加一个菜单项.
关于创建intent和让你的应用程序为其他程序提供服务的信息, 详见Intents and Intent Filters 文档.
Set an intent for a single menu item 为一个菜单项设置一个intent
如果你希望提供一个菜单项来启动一个Activity, 你可以使用setIntent来为这个菜单定义一个特殊的intent.
例如, 在onCreateOptionsMenu()方法中, 你可以定义一个新的菜单项:
MenuItem menuItem = menu.add(0, PHOTO_PICKER_ID, 0, "Select Photo");
menuItem.setIntent(new Intent(this, PhotoPicker.class));
Android将在该项被选择时启动对应的activity.
注意: 这不会返回一个结果给你的Activity. 如果你希望得到一个返回值, 则不要用setIntent(). 使用onOptionsMenuItemSelected() 或 onContextMenuItemSelected()处理选择,并调用startActivityForResult().
Dynamically add intents 动态增加intent
如果有多个activity和你当前的activity或者当前选项相关, 那么你的应用程序可以动态的增加菜单项来运行其他服务. 在菜单创建过程中, 定义一个intent, 它的category为Intent.ALTERNATIVE_CATEGORY 和/或
更多精彩
赞助商链接