超链接等价

时间:2011-10-14 14:32:32

标签: titanium titanium-mobile

我想我可能会使用Titanium将过多的正常情境(网络应用程序开发)应用于新的移动项目。我有一个包含几个按钮的主屏幕。我需要每个按钮打开一个全新内容的新窗口。在我看来,我只是假设windows会像请求或页面一样工作,因为创建和打开一个新窗口将完全取代现有内容。情况似乎并非如此(或者我正在做一些可怕的事情,可怕的错误)。在我的主屏幕上,这是一个按钮的事件处理程序:

btn_er_app.addEventListener( 'click', function( e ) {
    var win = Ti.UI.createWindow({
        bottom: 0,
        title: 'Next "Page"',
        top: 0,
        url: 'next_page.js',
    });
    win.open({ animated: true });
});

我的next_page.js页面看起来像这样(摘录):

var win = Ti.UI.currentWindow;
win.layout = 'vertical';

var header = Ti.UI.createView({
    backgroundColor: '#f00', 
    height: 60,
    top: 0, 
});
win.add( header );

var body = Ti.UI.createView({
    backgroundColor:'#000',
    backgroundImage: '/images/body.png',
});
var label = Ti.UI.createLabel({
    text: 'Page Bits Go Here',
    textAlign: 'center',
});
body.add( label );

win.add( body );

我发现主屏幕内容仍然可见。红色标题栏显示,但不显示正文视图。我尝试过设置属性:height: '100%'bottom: 0height: 'auto',甚至将新窗口的fullscreen值设置为true,但没有任何效果。

首先,“链接”如何在移动领域发挥作用?我真的认为我的整个思考过程需要重新调整,其次,我需要做些什么才能使我的新窗口完全模糊底层的主屏幕窗口?

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

您不应该替换窗口,而是实际创建一个新窗口,然后让它打开。

根据您要实现的目标,您应该创建一个模态窗口。

以下是:

var newWin = Ti.UI.createWindow({
    modal: true,
    title: 'new Window',
    navBarHidden: false
});

// adding a button to close the window again:

var button = Ti.UI.createButton({
    title: 'Close'
});

button.addEventListener('click',function(){
    newWin.close();
    newWin.hide();
});

win.leftNavButton = button;

newWin.open();

使用此窗口,您可以执行所有类型的操作,并添加您的视图等。