如何在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,向后滑动,再次等待等等。我希望它只等一次。
答案 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毫秒的暂停后发生