动画Animation ,一点点

举例scale动画

<scale
android:duration="300"
android:pivotX="100%"
android:pivotY="0%"
android:fromXScale="0.5"
android:toXScale="1.0"
android:fromYScale="0.5"
android:toYScale="1.0"
>
</scale>

android:pivotX="100%"
android:pivotY="0%"

这个属性比较费解,他的意思是动画的中心位置、起点。pivot单词本身就是中轴的意思,上例中代表从右上角开始变化,

如果想从左上角开始变化就是:

android:pivotX="0%"
android:pivotY="0%"

动画插值器:

一个动画的表现效果除了跟类似上边的xml代码有关系,还与动画插值器有很大的关系。

我比较喜欢一个overshootInterpolator 插值器,顾名思义就是过界插值器,比如向上例这样你是想做一个控件从50%大小变化到100%大小的一个动画,用了过界插值器,这个动画就会从50%大小变化到大于100%大小,然后在变到100%大小,就好像变化到100%的时候没有刹住车,又退了回来。我非常喜欢这个效果。

过界插值器的xml代码是这样的:

ttttt.xml

<?xml version="1.0" encoding="utf-8"?>
<overshootInterpolator xmlns:android="http://schemas.android.com/apk/res/android"
android:tension="3.0" />

tension 代表张力,默认是2,越大过界的范围就更大

使用方法:

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="@android:integer/config_shortAnimTime"
android:interpolator="@anim/ttttt">

<scale
android:duration="300"
android:pivotX="100%"
android:pivotY="0%"
android:fromXScale="0.5"
android:toXScale="1.0"
android:fromYScale="0.5"
android:toYScale="1.0"
>
</scale>

</set>

原文地址:https://www.cnblogs.com/ihou/p/2630814.html