我在Android中执行以下简单动画:
<?xml version="1.0" encoding="UTF-8"?>
<rotate
xmlns:android="http://schemas.android.com/apk/res/android"
android:fromDegrees="0"
android:toDegrees="360"
android:pivotX="50%"
android:pivotY="50%"
android:repeatCount="infinite"
android:duration="2000"
android:interpolator="@android:anim/linear_interpolator"/>
我像这样调用动画:
@Override
public void onWindowFocusChanged (boolean hasFocus) {
if (hasFocus) {
tvload.startAnimation(anim);
}
}
动画在棒棒糖前设备中立即开始,但在棒棒糖和棉花糖中,它需要大约1秒才能启动。此动画应在意图之后开始。
有没有办法让这个动画立即启动,而不是有1秒的加载时间?
答案 0 :(得分:0)
我会试试View#post()方法。一旦View可见,它将运行你发布的下一个UI线程循环的代码,通常是 。
tvload.post(new Runnable() {
@Override
public void run() {
tvload.startAnimation(anim);
}
};