【问题标题】:Android creating ViewPropertyAnimator animation chainAndroid 创建 ViewPropertyAnimator 动画链
【发布时间】:2013-07-27 15:35:36
【问题描述】:

我正在尝试这个:

public void onClick(View view){
    tv.animate().x(600).y(100).scaleX(3).scaleY(3);
    tv.animate().x(400).y(1400).scaleX(1).scaleY(1);
}

但它会跳过第一行动画。 我怎样才能让它链接它们,所以它首先会做第一行,然后是下一行?

【问题讨论】:

    标签: android animation view


    【解决方案1】:

    你可以试试这个

     Runnable endAction = new Runnable() {
         public void run() {
             tv.animate().x(400).y(1400).scaleX(1).scaleY(1);
         }
     };
    
    tv.animate().x(600).y(100).scaleX(3).scaleY(3).withEndAction(endAction);
    

    按照文档中的建议。

    【讨论】:

    • withEndAction 仅适用于 API 16 及更高版本
    • 您可以使用AnimatorEventListener 代替.withEndAction()
    • AnimatorEventListener 似乎不是公共 API。是吗?
    • 在这种情况下,setStartDelay 到最后一行也会将开始延迟添加到 endAction。我希望动画之间没有延迟
    • 使用 withEndAction 你也可以使用 ViewCompat:ViewCompat.animate(tv).withEndAction(endAction)
    猜你喜欢
    • 2016-11-07
    • 1970-01-01
    • 2022-07-01
    • 2012-04-27
    • 1970-01-01
    • 2014-10-02
    • 1970-01-01
    • 2012-12-29
    • 1970-01-01
    相关资源
    最近更新 更多