RecyclerView加载动画

引言

看到很多RecyclerView都有不错的动画,我动画知识也很欠缺,就决定拿他来玩玩。

本文先玩设置RecyclerView的加载动画

代码

效果
RecyclerView加载动画_第1张图片

实现步骤:
1.在res/anim文件下新增动画animate.xml



    

    

    


2.recylerView设置LayoutAnimationController

LayoutAnimationController controller = new LayoutAnimationController(AnimationUtils.loadAnimation(this,R.anim.animate));
        recyclerView.setLayoutAnimation(controller);

动画笔记

关于动画从来都没有好好的玩过,以下记录一下学习到的。
Android中动画有四种基本动画:

animate description
translate 位移动画
alpha 渐变透明度动画
scale 缩放动画
rotate 旋转动画

如上面的动画一样,可使用set集合来组合动画

关于插值器,我理解的是 值的一种变化方式。
比如从0-100变化,有的插值器会匀速变有的会加速…

常用插值器:

interpolator description
AccelerateInterpolator 在动画开始的地方速率变小,然后开始加速变大
DecelerateInterpolator 在动画开始的地方变大,然后慢慢变小
AnticipateInterpolator 开始的时候慢慢变小,然后突然加速变大
BounceInterpolator 变大动画快结束的时候,突然更大变大,然后还原
CycleInterpolator 动画循环播放特定的次数,速率改变沿着正弦曲线
LinearInterpolator 匀速变大
AccelerateInterpolator 向前甩一定值后再回到原来位置

从开始看到别人写的动画时,总是疑惑里面的传值单位,有的是int有的是float有的甚至是百分号,决定总结一下。

translate标签:
0是原来的位置

//单位是int%,0可以省略%
android:fromYDelta="100%"
android:toYDelta="0"

alpha标签:
0-1是从完全透明到完全不透明

//单位是float
android:fromAlpha="0"

rotate标签(需要中心点坐标):
从小到大是顺时针旋转,从大到小是逆时针旋转。

//单位是int
android:fromDegrees="0"

scale标签(需要中心点坐标):

//单位是int%
 android:fromXScale="105%"

另外中心点坐标pivotY的单位是int%

 android:pivotX="50%"

你可能感兴趣的:(android,ui)