如何在钛金属的视图/窗口之间切换?

时间:2014-05-24 06:33:59

标签: android titanium titanium-mobile titanium-alloy

我是Titanium的新手。我知道窗口是一个容纳不同视图的容器。但我想问我应该何时创建不同的窗口以及何时应创建视图?

我试图将窗口分成不同的文件并在它们之间切换但是到目前为止它对我来说并不合适,如果你知道一个简单的方法告诉我。如果它更容易和更好地使用视图,请尽可能指导我。

我能够创建窗口并在按钮点击时更改它们,但代码只在一个文件中。

编辑: 我想要app.js以外的两个文件。让我们说X.js,Y.js 在X.js中有一个按钮,当按下时,应用程序切换到Y.js,我不知道窗口/视图是否更好。

1 个答案:

答案 0 :(得分:2)

如果你正在使用Alloy,那就非常了。只需创建您的控制器和视图:

<强> x.xml

<Alloy>
  <Window>
    <Button id="open" title="Open X window" />
  </Window>
</Alloy>

<强> x.js

$.open.addEventListener('click', function(event) {
    Alloy.createController('x');
});

$.x.open();

<强> y.xml

<Alloy>
  <Window>
    <Button id="open" title="Open Y window" />
  </Window>
</Alloy>

<强> y.js

$.open.addEventListener('click', function(event) {
    Alloy.createController('y');
});

$.y.open();

如果您使用普通的Titanium SDK,则必须使用CommonJS modules

<强> app.js

var x = require('x');
x.open();

<强> x.js

var win = Ti.UI.createWindow();
var button = Ti.UI.createButton({ title: 'Open Y window' });


button.addEventListener('click', function(event){
    var y = require('y');
    y.open();
});

win.add(button);

module.exports = win;

<强> y.js

var win = Ti.UI.createWindow();
var button = Ti.UI.createButton({ title: 'Open X window' });


button.addEventListener('click', function(event){
    var x = require('x');
    win.close();
    x.open();
});

win.add(button);

module.exports = win;