rotate_x.xml:
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:fillAfter="true"
android:interpolator="@android:anim/decelerate_interpolator" >
<objectAnimator
android:valueFrom="180"
android:valueTo="0"
android:propertyName="rotationX"
android:interpolator="@android:interpolator/accelerate_decelerate"
android:duration="1000" >
</objectAnimator>
</set>
下面的代码记录-1到logcat。
Log.e(TAG, "Animation duration : " + ((AnimatorSet) AnimatorInflater.loadAnimator(this, R.anim.rotate_x)).getDuration());
这是为什么?如何在代码中获得AnimatorSet
个持续时间。
答案 0 :(得分:0)
您可以使用Animation类中的方法computeDurationHint()
。
long duration = 0;
for(Animation a : yourAnimatorSet.getChildAnimations())
duration += a.computeDurationHint();
javadoc说:
计算整个动画可能持续多长时间的提示,以毫秒为单位。可以编写动画以使其自身运行的持续时间与此处计算的持续时间不同,但通常这应该是准确的。