子菜单和上下文菜单
上下文菜单的显示,和图4‐5 中显示的子菜单相同,使用漂浮的窗口。虽然它们的外观一样,但这两种菜单类型的填入不同。
创建子菜单
子菜单和正常的菜单项一样显示,当选择时,会显示更多的项目。传统的子菜单以层次树布局进行显示。Android 系统为小屏幕设备使用了不同的方法来简化菜单导航。与其用一个树型结构,不如在选择子菜单时显示一个漂浮的窗口来显示所有的菜单项。
你可以使用addSubMenu 方法来添加子菜单。它和添加正常的菜单项一样,具有相同的参数,允许你指定组、独一无二的ID 和每一个子菜单的文本。你可以使用setHeaderIcon 和setIcon 方法来指定图标,相应地显示在子菜单的头条上或者和正常的图标菜单一样显示。
子菜单中的菜单项和图表菜单或扩展菜单一样有相同的选项。然后,和传统系统不同的是,Android 不支持嵌套的子菜单。
下面的代码片段显示了onCreateMenuOptions 中的精确实现,它添加一个子菜单到主菜单中,设定头的图标,并且为子菜单添加菜单项:
SubMenu sub = menu.addSubMenu(0, 0, Menu.NONE, “Submenu”);
sub.setHeaderIcon(R.drawable.icon);
sub.setIcon(R.drawable.icon);
MenuItem submenuItem = sub.add(0, 0, Menu.NONE, “Submenu Item”);
创建子菜单
子菜单和正常的菜单项一样显示,当选择时,会显示更多的项目。传统的子菜单以层次树布局进行显示。Android 系统为小屏幕设备使用了不同的方法来简化菜单导航。与其用一个树型结构,不如在选择子菜单时显示一个漂浮的窗口来显示所有的菜单项。
你可以使用addSubMenu 方法来添加子菜单。它和添加正常的菜单项一样,具有相同的参数,允许你指定组、独一无二的ID 和每一个子菜单的文本。你可以使用setHeaderIcon 和setIcon 方法来指定图标,相应地显示在子菜单的头条上或者和正常的图标菜单一样显示。
子菜单中的菜单项和图表菜单或扩展菜单一样有相同的选项。然后,和传统系统不同的是,Android 不支持嵌套的子菜单。
下面的代码片段显示了onCreateMenuOptions 中的精确实现,它添加一个子菜单到主菜单中,设定头的图标,并且为子菜单添加菜单项:
SubMenu sub = menu.addSubMenu(0, 0, Menu.NONE, “Submenu”);
sub.setHeaderIcon(R.drawable.icon);
sub.setIcon(R.drawable.icon);
MenuItem submenuItem = sub.add(0, 0, Menu.NONE, “Submenu Item”);