Appcelerator视图隐藏动画

时间:2017-09-27 10:30:54

标签: animation view hide appcelerator

我正在尝试将动画集成到一个模块中,当点击关闭按钮时,整个pendingTasksBar视图的高度变为0dp但是在300ms的范围内。这是我到目前为止所尝试的。有人可以帮帮我吗?

function hidePendingTasksBar(){
    log.trace("[tasks]  >>  [hidePendingTasksBar]");

    var animationObj = Ti.UI.createAnimation({
        height : "0dp",
        duration : 300
    });
    $.pendingTasksBar.animate(animationObj);
    //.pendingTasksBar.height = "0dp";
}

2 个答案:

答案 0 :(得分:0)

高度属性必须是数字,并且您正在使用字符串。我认为这就是问题所在。尝试使用0而不是“0dp”。

http://docs.appcelerator.com/platform/latest/#!/api/Titanium.UI.Animation-property-height

答案 1 :(得分:0)

将数字设置为0应该可以正常工作。如果它不起作用,那么您可以安全地使用矩阵变换来降低高度或将其再次增加到相同的高度,如下所示:

var matrix = Ti.UI.create2DMatrix();
matrix = matrix.scale(1, 0);

// to decrease height
$.pendingTasksBar.animate({
    duration : 300,
    transform : matrix
});


// to reset height
$.pendingTasksBar.animate({
    duration : 300,
    transform : Ti.UI.create2DMatrix()   // use empty matrix & it will reset original matrix or UI.
});