WEB开发网
开发学院手机开发Android 开发 Android SDK 开发之创建菜单 阅读

Android SDK 开发之创建菜单

 2010-03-23 04:18:00 来源:WEB开发网   
核心提示:switch (item.getItemId()) {case MENU_NEW_GAME:newGame();return true;case MENU_QUIT:quit();return true;}return false;}add()方法接受4个参数:groupId: 将该菜单项关联到某个特定的组(见后面的介

switch (item.getItemId()) {

case MENU_NEW_GAME:

newGame();

return true;

case MENU_QUIT:

quit();

return true;

}

return false;

}

add()方法接受4个参数:

groupId: 将该菜单项关联到某个特定的组(见后面的介绍)。

itemId: 用于在回调函数标识一个菜单项。

order: 用于定义它的显示顺序 —— 默认按照add()的顺序来显示。

title: 菜单项的屏幕显示名称 —— 可以为String,也可以为string资源。

提示:如果你有一些菜单项可以放在同一个标题下,考虑将他们组成一个子菜单。

Adding icons 增加图标

可以使用setIcon()来为菜单增加图标。例如:

menu.add(0, MENU_QUIT, 0, "Quit")

.setIcon(R.drawable.menu_quit_icon);

Modifying the menu 修改菜单

如果你想在选项菜单第一次启动以后去改变它,则需改写onPrepareOptionsMenu()方法,该方法每次菜单打开时都会调用。该方法会将 Menu对象的引用传给你,就像onCreateOptionsMenu()回调一样。这在你需要动态改变菜单内容时很有用。

注意:根据当前选择的菜单项来决定如何改变菜单项是不好的习惯。记住,在触摸模式,不会有一个被选择(或者处于焦点的)菜单项。当你需要基于某个UI元素来提供功能时,你应该用快捷菜单来实现这样的行为。

Context Menu 弹出菜单

Android 弹出菜单在概念上和PC上的右键菜单差不多。当一个view注册了一个快捷菜单时,在这个view上长按会弹出一个浮动菜单。快捷菜单可以被注册到任意 veiw对象,但它们一般来说会被注册到ListView。ListView在被按下时背景颜色会变化,暗示会有快捷菜单弹出。

注意:快捷菜单项不支持图标和快捷键。

要创建一个快捷菜单,你应该改写Activity的onCreateContextMenu()和onContextItemSelected()方法。在onCreateContextMenu()回调函数中,你可以使用add()方法来添加一个菜单项,或者在xml中定义。然后,使用registerForContextMenu()方法来给View注册一个快捷菜单。

例如,下面是一段增加快捷菜单的代码:

public void onCreateContextMenu(ContextMenu menu, View v,

上一页  1 2 3 4 5 6 7  下一页

Tags:Android SDK 开发

编辑录入:coldstar [复制链接] [打 印]
赞助商链接