把窗户带到另一个窗户钛的前面

时间:2016-03-02 14:37:01

标签: android ios iphone titanium titanium-mobile

我有两个窗口

窗口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文件。第二个窗口是隐藏的,当我在第一个窗口上滑动时,第二个窗口必须出现在第一个窗口的上方。如何将一个窗口放在前面并将另一个窗口保留在后台?

1 个答案:

答案 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组件,您只需定义作为视图的菜单会在您执行滑动操作后显示。我认为这也适合你,更好。

希望这些可以帮到你!祝你好运!