动画android立即启动

时间:2016-10-26 18:17:46

标签: android animation android-5.0-lollipop

我在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秒的加载时间?

1 个答案:

答案 0 :(得分:0)

我会试试View#post()方法。一旦View可见,它将运行你发布的下一个UI线程循环的代码,通常是

tvload.post(new Runnable() {
  @Override
  public void run() {
     tvload.startAnimation(anim);
  }
};