引言
看到很多RecyclerView都有不错的动画,我动画知识也很欠缺,就决定拿他来玩玩。
本文先玩设置RecyclerView的加载动画
代码
效果
实现步骤:
1.在res/anim文件下新增动画animate.xml
<set xmlns:android="/apk/res/android"android:duration="@integer/anim_duration_medium"><translateandroid:fromYDelta="100%"android:toYDelta="0" /><alphaandroid:fromAlpha="0"android:toAlpha="1" /><scaleandroid:fromXScale="105%"android:fromYScale="105%"android:pivotX="50%"android:pivotY="50%"android:toXScale="100%"android:toYScale="100%" /></set>
2.recylerView设置LayoutAnimationController
LayoutAnimationController controller = new LayoutAnimationController(AnimationUtils.loadAnimation(this,R.anim.animate));recyclerView.setLayoutAnimation(controller);
动画笔记
关于动画从来都没有好好的玩过,以下记录一下学习到的。
Android中动画有四种基本动画:
如上面的动画一样,可使用set集合来组合动画
关于插值器,我理解的是 值的一种变化方式。
比如从0-100变化,有的插值器会匀速变有的会加速…
常用插值器:
从开始看到别人写的动画时,总是疑惑里面的传值单位,有的是int有的是float有的甚至是百分号,决定总结一下。
translate标签:
0是原来的位置
//单位是int%,0可以省略%android:fromYDelta="100%"android:toYDelta="0"
alpha标签:
0-1是从完全透明到完全不透明
//单位是floatandroid:fromAlpha="0"
rotate标签(需要中心点坐标):
从小到大是顺时针旋转,从大到小是逆时针旋转。
//单位是intandroid:fromDegrees="0"
scale标签(需要中心点坐标):
//单位是int%android:fromXScale="105%"
另外中心点坐标pivotY的单位是int%
android:pivotX="50%"