在Android中,我知道我们可以通过XML定义动画。
例如,scale_button_up.xml
可能类似于
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/linear_interpolator"
android:fillBefore="true"
android:fillAfter="true"
android:fillEnabled="true">
<scale
android:duration="5000"
android:fromXScale="0.25"
android:fromYScale="0.25"
android:pivotX="50%"
android:pivotY="50%"
android:toXScale="0.75"
android:toYScale="0.75"/>
</set>
如果未指定android:interpolator="@android:anim/linear_interpolator"
,我想知道Android V21 +的默认行为是什么。
答案 0 :(得分:1)
所有*Animation
类都是Animation
的子类,它处理在其构造函数中设置XML属性中指定的插值器。如果没有指定,则默认AccelerateDecelerateInterpolator
在其ensureInterpolator()
方法中设置。
/**
* Gurantees that this animation has an interpolator. Will use
* a AccelerateDecelerateInterpolator is nothing else was specified.
*/
protected void ensureInterpolator() {
if (mInterpolator == null) {
mInterpolator = new AccelerateDecelerateInterpolator();
}
}