加载菜单结构

Adobe AIR 1.0 和更高版本

不管菜单的用途是什么,都要将菜单结构定义为包含 XML 或 JSON 结构的单独文件。在应用程序中分配菜单之前,必须先使用框架加载和分析菜单结构文件。若要加载和分析菜单结构文件,请使用以下两个框架方法之一:

  • Menu.createFromXML() ,可以加载和分析 XML 格式的菜单结构文件

  • Menu.createFromJSON() ,可以加载和分析 JSON 格式的菜单结构文件

两种方法都接受一个参数:菜单结构文件的文件路径。两种方法都从该位置加载文件。它们分析文件内容,并返回 NativeMenu 对象,该对象中包含此文件中定义的菜单结构。例如,以下代码加载名为“windowMenu.xml”的菜单结构文件,该文件与加载它的 HTML 文件位于同一目录:

var windowMenu = air.ui.Menu.createFromXML("windowMenu.xml");

在下一个示例中,代码从名为“menus”的目录中加载名为“contextMenu.js”的菜单结构文件:

var contextMenu = air.ui.Menu.createFromJSON("menus/contextMenu.js");
注: 所生成的 NativeMenu 对象只能一次性用作应用程序菜单或窗口菜单。但是,所生成的 NativeMenu 对象可以在应用程序中多次用作上下文菜单或图标菜单。在 Mac OS X 上使用 MenuBuilder 框架时,如果将相同 NativeMenu 指定为应用程序菜单和另一种类型的菜单,则它只用作应用程序菜单。

有关 MenuBuilder 框架接受的特定菜单结构的详细信息,请参阅 定义 MenuBuilder 菜单结构