我有一個漫畫家,infinite_rotation
,定義爲:ObjectAnimator具有無限旋轉口吃
<set xmlns:android="http://schemas.android.com/apk/res/android">
<objectAnimator
android:propertyName="rotation"
android:repeatCount="infinite"
android:valueFrom="0"
android:valueTo="360"
android:duration="2000" />
</set>
當時間(時間不定)來,我不再需要這個,我叫infinite_animator.cancel()
。然後發揮其佈局容器上的fade_out動畫:
<set xmlns:android="http://schemas.android.com/apk/res/android">
<objectAnimator
android:propertyName="alpha"
android:repeatCount="0"
android:valueTo="0.0"
android:duration="1000" />
</set>
生成的動畫是,旋轉停止如預期,但口吃而淡出。我錯過了什麼?
下面是它的外觀:
更新: 我是老三星Tab鍵4奇巧OS測試上述問題。我剛剛在一款相當新款的帶有棉花糖操作系統的三星Tab 4上進行測試。動畫效果很好。所以我想更好的問題是如何修復舊設備/操作系統上的sl animation動畫?
這是動畫電話:
private void animateRefreshButton() {
ImageView iv_refresh = (ImageView) findViewById(R.id.iv_refresh);
if(infinite_animator == null) {
infinite_animator = AnimatorInflater.loadAnimator(this, R.animator.refresh_rotate);
}
infinite_animator.setTarget(iv_refresh);
infinite_animator.start();
}
hideRefreshButton()
當應用程序確定刷新完成啓動。這是取消並淡出動畫來電:
private void hideRefreshButton() {
if(infinite_animator != null) {
infinite_animator.cancel();
}
Animator anim = AnimatorInflater.loadAnimator(this, R.animator.refresh_fadeout);
anim.addListener(new Animator.AnimatorListener() {
@Override
public void onAnimationStart(Animator animation) {}
@Override
public void onAnimationEnd(Animator animation) {
framelayout_container_of_iv_refresh.setVisibility(View.GONE);
}
@Override
public void onAnimationCancel(Animator animation) {}
@Override
public void onAnimationRepeat(Animator animation) {}
});
anim.setTarget(framelayout_container_of_iv_refresh);
anim.start();
}
您是否嘗試爲您的旋轉動畫設置fillAfter爲true? – algrid
沒有。我可以嘗試一下。謝謝。 – user1506104
你能發表該行爲的gif嗎? – azizbekian