我想我可能会使用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: 0
,height: 'auto'
,甚至将新窗口的fullscreen
值设置为true,但没有任何效果。
首先,“链接”如何在移动领域发挥作用?我真的认为我的整个思考过程需要重新调整,其次,我需要做些什么才能使我的新窗口完全模糊底层的主屏幕窗口?
感谢您的帮助。
答案 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();
使用此窗口,您可以执行所有类型的操作,并添加您的视图等。