0

Titanium SDK:3.1.2 平台:Android Titanium Studio:3.1.3。大家好,我是 Titanium 的新手,并试图在我的窗口中添加一些动画。当窗口打开时,它应该从左到右打开。我通过以下代码实现了这一点。但是有一个问题,在显示动画窗口之前,会出现黑屏。所以我的问题是:- 1)我应该怎么做才能消除黑屏..?2)单击android后退箭头按钮时,我应该怎么做才能从右到左关闭具有动画的同一窗口..?

//Application Window Component Constructor

var self = Ti.UI.createWindow({
    backgroundColor:'#123',
    navBarHidden:false,
    exitOnClose:true
});

var devWidth = Ti.Platform.displayCaps.platformWidth;

var button = Ti.UI.createButton({title:'Click',width:100,height:50});
button.addEventListener('click', function(e) {
    var detailContainerWindow = Ti.UI.createWindow({
        title: 'View Details',
        navBarHidden: false,
        backgroundColor:'#fff'
    });

    detailContainerWindow.addEventListener('open', function(){
        var anim1 = Ti.UI.createAnimation({
            left: "-" + devWidth,
            duration: 1000
        });
        detailContainerWindow.animate(anim1);
    });

    detailContainerWindow.open();
});

self.add(button);
4

1 回答 1

1

不要在打开事件上执行动画,只需在 .open 方法之后执行。

var anim1 = Ti.UI.createAnimation({
            left: "-" + devWidth,
            duration: 1000
        });
        detailContainerWindow.animate(anim1);

 var button = Ti.UI.createButton({title:'Click',width:100,height:50});

button.addEventListener('click', function(e) {
    var detailContainerWindow = Ti.UI.createWindow({
        title: 'View Details',
        navBarHidden: false,
        backgroundColor:'#fff'
    });

    detailContainerWindow.addEventListener('open', function(){

    });

    detailContainerWindow.open();
    detailContainerWindow.animate(anim1);

});

并使用 winnow 的 androidback 事件关闭带有动画的窗口。

   var anim2 = Ti.UI.createAnimation({
                left: devWidth,
                duration: 1000
            });

detailContainerWindow.addEventListener('androidback', function(){
              detailContainerWindow.animate(anim2);
        });
于 2013-09-30T06:45:03.700 回答