在 Titanium 项目中,我使用以下代码拖放图像视图
Utils.prototype.makeDraggable = function(view, onDropped) {
var olt = Titanium.UI.create2DMatrix(), curX=0, curY=0, endX=0, endY=0;
var animation_in_progress = false;
view.setTransform(olt);
view.addEventListener('touchstart', function(e) {
curX = e.x; curY = e.y;
});
view.addEventListener('touchmove', function(e) {
// update the co-ordinates based on movement since last movement or touch start
var deltaX = e.x - curX, deltaY = e.y - curY;
if (!animation_in_progress) {
olt = olt.translate(deltaX, deltaY);
animation_in_progress = true;
view.animate({
transform : olt,
duration : 50,
curve: Titanium.UI.ANIMATION_CURVE_LINEAR
}, function(e) {
animation_in_progress = false;
});
}
});
view.addEventListener('touchend', function(e) {
if (onDropped) {
onDropped(e);
}
});
}
它在单个 ImageView 上工作正常。
现在我要拖放一组ImageView。我的想法是创建一个父视图,将图像视图添加到这个父视图,然后为父视图设置动画。
不幸的是,一旦我将孩子添加到视图中,这个就不能再动画了。
任何想法为什么以及如何解决它?您对在一组视图上实施拖放有什么建议?