webos Stages的种类及创建stage

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");
  }
};

webos Stages的种类及创建stage》上有3条评论

17fenx进行回复 取消回复

电子邮件地址不会被公开。 必填项已用*标注