【问题标题】:Titanium: animate view back and forth (return to original position)Titanium:来回动画视图(返回原始位置)
【发布时间】:2014-12-04 14:59:00
【问题描述】:

我正在开发一个简单的 Alloy 应用程序。我有一个视图我想水平来回移动(从而移动然后返回到原来的位置)。

这个函数是我写的

function move(view) {

  var origin = view.getCenter();

  console.log("origin ", origin);
  console.log("rect ", view.getRect());

  var forth = Titanium.UI.createAnimation();
  forth.duration = 700;
  forth.center = {
    x: 0
  };
  forth.addEventListener('complete', function() {
    view.animate(back);
  });

  var back = Titanium.UI.createAnimation();
  back.duration = 300;
  back.center = {
    x: origin.x
  };
  back.addEventListener('complete', function() {
    alert('completed');
  });

  view.animate(forth);
}

我运行它,它在x: origin.x 崩溃,因为origin 未定义。而且view.centerview.rect都是未定义的,所以我无法存储原来的位置。

有什么帮助吗?

谢谢

PS:代码已经在 iOS 模拟器上进行了测试,虽然是为了兼容 Android 和 iOS。

【问题讨论】:

    标签: android ios animation titanium titanium-alloy


    【解决方案1】:

    你为什么不只是为左侧位置设置动画并使用 view.getRect() ?

    var origin = view.getRect();
    
    //console.log("origin ", origin);
    console.log("rect ", view.getRect());
    
    var forth = Titanium.UI.createAnimation();
    forth.duration = 5000;
    forth.left = 0;
    
    forth.addEventListener('complete', function() {
       view.animate(back);
    });
    
    var back = Titanium.UI.createAnimation();
    back.duration = 5000;
    back.left = origin.x;
    
    
    back.addEventListener('complete', function() {
      alert('completed');
    });
    
    view.animate(forth);
    

    【讨论】:

      猜你喜欢
      • 2011-12-08
      • 1970-01-01
      • 2011-04-20
      • 2015-01-11
      • 2015-12-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多