Appcelerator:Touchmove拖动视图会产生非常“跳跃”的结果

时间:2016-02-02 05:22:55

标签: appcelerator drag appcelerator-titanium

我正在尝试使用Appcelerator在Android环境中拖动视图,结果发现它有一个非常有弹性的动画。代码如下:

newmainwindow.addEventListener('touchstart', function(e){
    xPos = e.x;
    yPos = e.y;
});

newmainwindow.addEventListener('touchmove', function(e){

    var conPoint = newmainwindow.convertPointToView({x:e.x, y:e.y}, mainview);

    console.log("global y: " + conPoint.y);

    var moveY = conPoint.y - yPos;
    moveY /= 2;

    console.log("global diff y: " + moveY);

    newmainwindow.top = Math.abs(moveY);
});

newmainwindow.addEventListener('touchend', function(e){
    console.log("end");
});

我已经搜索了很多解决方案但很遗憾没有一个能够解决问题。非常感谢任何帮助:)

2 个答案:

答案 0 :(得分:1)

Titanium中可拖动视图的挑战在于JS和本机之间的桥梁成为瓶颈,因为所有的反馈来回。

Hyperloop(beta)允许您直接使用平台API。示例应用程序还包含用于拖动视图的示例:

https://github.com/appcelerator/hyperloop-examples

答案 1 :(得分:0)

https://github.com/pec1985/TiDraggable

我用过它,这是一个非常好的解决方案。开箱即用。