动画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>