mojo提供了四种基本的Stage。
card(默认):这是经常使用的一种,最大化后会充满整个屏幕,如果不是全屏模式的话,在card的底部会显示提示条, 顶部会有状态栏。
Dashboard:用来给一些后台运行的程序显示环境信息或提供一个动态的窗口。
Banner Alert:相当于WINDOWS开发里的气泡吧。出在card底部显示一些提示信息,包含一个图标和文字信息,几秒钟后会消失。
Pop-up Alert:相当与WINDOWS里的弹出框,有些按钮在里面,必须在用户点了某一个按钮后才消失。
创建stage
createStageWithCallback()方法用来创建stage.调用需要三个参数。第一个参数是配置参数,第二个是回调函数,就是创建窗口结束后要进行的操作,第三个是窗口的类型,上面四种类型中的一种,可选参数,默认为card.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | var MainStageName = "main"; function AppAssistant (appController) { } AppAssistant.prototype.handleLaunch = function (launchParams) { // Look for an existing main stage by name. var stageProxy = this.controller.getStageProxy(MainStageName); var stageController = this.controller.getStageController(MainStageName); //如果etStageController()和 getStageProxy()都返回空, 则说明stage还没有被创建或者已创建但不可用。 if (stageProxy) { // 如果stage已存在,就把它显示到界面最前面 // 如果只有proxy(没有stageController), 那stage已经被focus了。 if (stageController) { stageController.window.focus(); } } else { // Create a callback function to set up the new main stage // after it is done loading. It is passed the new stage controller // as the first parameter. var pushMainScene = function(stageController) { stageController.pushScene("main"); }; var stageArguments = {name: "MainStageName", lightweight: true}; // 最后一个参数指定stage类型 this.controller.createStageWithCallback(stageArguments, pushMainScene, "card"); } }; |
WINDOWS里的弹出框
好好研究学习代码
看不太懂哎