延迟整个重复的xml动画

时间:2014-11-18 16:52:40

标签: android android-animation android-xml

如何在xml中延迟重复动画?

 <!-- wobbling animation -->
<translate
    android:fromXDelta="0"
    android:toXDelta="10"
    android:duration="50"
    android:repeatCount="5"
    android:repeatMode="reverse"
    android:interpolator="@android:anim/accelerate_interpolator"/>

此动画可以快速向后和向前摆动视图。我想在一段时间后(比如1000毫秒)运行它。 在这里添加一个startOffset会使每个翻译延迟偏移而不是整个事件。是否有一个简单的选项来修复此行为?我打算在xml中加入其他动画。

编辑: 为清楚起见:在此处添加1000ms的起始偏移会导致动画等待1000ms,滑动超过50ms,等待另外1000ms,向后滑动,再次等待等等。我希望它只等一次。

2 个答案:

答案 0 :(得分:2)

你不能使用startOffset,因为它是相同的动画。您可以将其分解为正向/反向动画并偏移前向动画(所有XML),或者按照建议在代码块中使用Handler。

答案 1 :(得分:0)

@Override 
public void onClick(View v) {

//sleep for x milliseconds
Handler handler = new Handler(); 
handler.postDelayed(new Runnable() { 
     public void run() { 
          //do your stuff here
     } 
}, x); 

}

这里,你的onclick将发生的任何事情将在x毫秒的暂停后发生