我有两个窗口
窗口1:
var win = Ti.UI.createWindow({
backgroundColor : 'black',
url : 'Car.js'
});
窗口2:
var menuWindow = Ti.UI.createWindow({
top : 0,
left : 0,
width : deviceWidth * 0.0000001,
toogle : false,
});
win.open();
menuWindow.open();
在占据整个屏幕的第一个窗口中,我需要像使用“url:'Car.js'”一样来编写.js文件。第二个窗口是隐藏的,当我在第一个窗口上滑动时,第二个窗口必须出现在第一个窗口的上方。如何将一个窗口放在前面并将另一个窗口保留在后台?
答案 0 :(得分:0)
@Manuel_Rodrigues我们只需要在"新窗口中添加一些属性"可以做到这一点(这是例子):
1的 win.js 强>
var win = Ti.UI.createWindow({
width: '100%',
height: '100%',
backgroundColor: 'white'
});
//sliding animation
var slide_to_right = Ti.UI.createAnimation({
left: 0,
duration: 200
});
//win swipe listener
win.addEventListener('click',function(e){
if(e.direction == 'right'){ //swipe to right open the menuWindow
//Alloy
var menu_win = Alloy.createController('menu_window').getView();
menu_win.setLeft('-100%'); //menuWindow will open with a sliding animation from left
menu_win.open(slide_to_right);
/*
//not Alloy
var menuWin = require('/menu_window'); //path of menu_window.js
var menuWindow = new menuWin();
menuWindow.open(slide_to_right);
*/
}
});
win.open();
2的 menu_window.js 强>
//Alloy
var menuWindow = Ti.UI.createWindow({
width: '40%',
height: '100%',
backgroundColor: 'transparent',
theme: 'Theme.AppCompat.Translucent.NoTitleBar' //backgroundColor set 'transparent' make the menuWindow seems suspend above the win-window, the 'theme' property just remove the window default tile navigation-bar in android
});
menuWindow.open();
/*
//not Alloy
function menuWin(){
var menuWindow = Ti.UI.createWindow({
width: '40%',
height: '100%',
backgroundColor: 'transparent',
theme: 'Theme.AppCompat.Translucent.NoTitleBar'
});
return menuWindow;
}
module.exports = menuWin;
*/
因此,完成所需内容的关键是将 backgroundColor 和 主题 属性设置为新属性窗口,此外,定义 打开动画 来更改窗口打开系统默认动画。但是,我不建议您采用这种方式,因为没有必要将菜单(您希望在基本窗口中显示)定义为窗口UI组件,您只需定义作为视图的菜单会在您执行滑动操作后显示。我认为这也适合你,更好。
希望这些可以帮到你!祝你好运!