layoutAnimation
来源:互联网 发布:美工对电脑配置的要求 编辑:程序博客网 时间:2024/06/08 14:19
layoutAnimation是为viewgroup的子项统一设置进入动画的一种动画,原理也很好理解,就是在绘制子项前根据参数计算出每一项的动画的startOffset,也就是启动等待时间,然后依次为子项设置动画即可。
和其他动画一样,有xml静态和代码两种设置方式:
1.xml:
<android.support.v7.widget.RecyclerView android:id="@+id/rv" android:layout_width="match_parent" android:layout_height="match_parent" android:layoutAnimation="@anim/list_anim"> </android.support.v7.widget.RecyclerView>直接设置相应viewgroup的layoutAnimation属性为anim文件夹下的这个动画文件。
list_anim:
<?xml version="1.0" encoding="utf-8"?><layoutAnimation xmlns:android="http://schemas.android.com/apk/res/android" android:delay="1" android:animationOrder="normal" android:animation="@anim/item_anim"/>三个属性也比较好理解,animationOrder确定子项的出场顺序,包括正序,倒序和随机。animation就是子项出场动画了,就是普通的视图动画。
delay指的是两个动画间的间隔,这个值的最终确定是 delay*(item_anim里的duration)。
2.代码设置(这里用的是kotlin)
val anim= AnimationUtils.loadAnimation(this,R.anim.item_anim); val controll=LayoutAnimationController(anim) controll.order=LayoutAnimationController.ORDER_NORMAL controll.delay=1.0f rv.layoutAnimation=controll rv.adapter=MyAdapter(list)
可以看到,LayoutAnimationController类就是xml中的LayoutAnimation,思路和xml一样。
需要注意的是,这样设置的动画只有在viewgroup初始化的时候才有效,如果在onCreate后添加数据或者为列表设置适配器都是无效的,如果想要设置子项添加和删除时的动画,可以参考:http://blog.csdn.net/harvic880925/article/details/50985596
阅读全文
0 0
- LayoutAnimation
- layoutAnimation
- Android LayoutAnimation
- Android LayoutAnimation
- Android LayoutAnimation
- LayoutAnimation动画
- layoutAnimation动画
- layoutAnimation动画
- android LayoutAnimation
- Android --- layoutAnimation应用
- LayoutAnimation的使用
- ListView 添加LayoutAnimation
- LayoutAnimation简单使用
- Android layoutAnimation简单应用
- Android LayoutAnimation 与 LayoutTransition
- 7.3 Android Framework - LayoutAnimation
- LayoutAnimation和LayoutTransition
- Android LayoutAnimation使用
- (树状数组)KiKi's K-Number -- HDOJ
- 七、输入/输出流-- 七、输入/输出流--基于字符串的流---basic_istringstream 模板
- 极简版nosql
- 前端解决跨域问题的8种方案
- ajax跨域的问题
- layoutAnimation
- 不规范的英文名字编程首字母大写
- 【HDU 1068】Girls and Boys(二分图)
- 数串 -- JAVA 算法学习
- 解决:Couldn't load stlport_shared from loader dalvik.system.PathClassLoader
- Git合并特定Commits 到另一个分支
- 在Windows下用plink工具批量实现自动远程登录Linux并执行关机命令
- 七、输入/输出流--基于字符串的流---basic_ostringstream模板
- 【DL笔记】VAE详解