是否可以在选择的OptionalMenu项目上显示另一个菜单,如果我点击第一个菜单上的项目,app停止运行。
function rightMenuF() {
var item1 = {
title : lang["lng_logout"],
//icon : "Icon.png", // Android 3.0 only
//itemType : SMF.UI.MenuItemType.cancel, // iOS Optional Menu only
onSelected : function (e) {
openNewMenu();
}
};
var items = [item1];
Menus.RightOptionalMenu = new SMF.UI.Menu({
menuStyle : SMF.UI.MenuStyle.optionalMenu,
title : lang["lng_settings"],
//icon : "Icon.png",
items : items
});
Menus.RightOptionalMenu.show();
}
function openNewMenu() {
var item1 = {
title : lang["lng_logout"],
//icon : "Icon.png", // Android 3.0 only
//itemType : SMF.UI.MenuItemType.cancel, // iOS Optional Menu only
onSelected : function (e) {
alert("a");
}
};
var items = [item1];
Menus.NewOptionalMenu = new SMF.UI.Menu({
menuStyle : SMF.UI.MenuStyle.optionalMenu,
title : lang["lng_settings"],
//icon : "Icon.png",
items : items
});
Menus.NewOptionalMenu .show();
}
通过actionBar项触发rightMenuF。
答案 0 :(得分:0)
可能但您的codeLines中存在一些JavaScript问题。
首先,您可以在项目中使用Menu.JS作为指南,还有一篇关于http://www.smartface.io/developer/guides/controls/menu-object/的菜单对象的文章。
现在,创建一个新项目。
打开Global.JS文件并取消注释下面的codeLine;
load("Menu.js");
现在,打开Menu.JS文件并更改如下代码;
var item1 = {
title : "My Item 1",
icon : "icon.png", // Andrid 3.0- only
itemType : SMF.UI.MenuItemType.destructive, // iOS Optional Menu Only
onSelected : function (e) {
Menus.newMenu2.show();
alert("First item is selected");
}
};
var item2 = {
title : "My Item 2",
itemType : SMF.UI.MenuItemType.destructive, // iOS Optional Menu Only
onSelected : function (e) {
alert("Second item is selected");
}
};
var items = [item1, item2];
Menus.newMenu = new SMF.UI.Menu({
menuStyle : SMF.UI.MenuStyle.contextualMenu,
title : "Menu Title", // iOS Optional Menu Only
icon : "menu_icon.png", // Android Context Menu Only
items : items
});
Menus.newMenu2 = new SMF.UI.Menu({
menuStyle : SMF.UI.MenuStyle.optionalMenu,
title : "Menu Title", // iOS Optional Menu Only
icon : "menu_icon.png", // Android Context Menu Only
items : items
});
// Use following commands to show menus
/*
Menus.newMenu.show();
Menus.newMenu2.show();
*/
现在创建一个按钮,并在其onPressed事件上写下面的代码;
Menus.newMenu.show();
当您运行项目时,如果您按下该按钮,它将显示第一个菜单。如果您触摸第一个项目,它将显示第二个菜单。