Android ApiDemo学习(五)Animation—— 6 Hide-Show Animation
来源:互联网 发布:mac地址修改器 win7 编辑:程序博客网 时间:2024/05/08 08:53
动画效果:
点击ShowButtons:显示四个按钮0-3
点击按钮0-3,自己消失
勾选checkbox1:按钮消失、出现有转圈的动画效果
勾选checkbox2:按钮x消失,之后的按钮会前移,占据x的原有位置
xml布局文件:可以看到静态的布局文件里,没有按钮0-3,这四个按钮是java代码动态控制的
LayoutAnimationsHideShow.java:
- 主activity的oncreate:
1. 创建四个按钮,添加监听器。
2. 按钮监听器:点击按钮后,对应按钮消失。根据checkbox2是否勾选,确定按钮是“GONE”还是“INVISIBLE”。前者不仅消失,位置也不保留;后者只是不可见,按钮位置还保留
3. "添加按钮"按钮的监视器:点击后,上面四个按钮都设置为VISIBLE,即可见
4. checkbox1的状态:
首先需要知晓一个概念,LayoutTransition:当ViewGroup对象的一个layout发生改变时,LayoutTransition可以使能一个auto animation。这个“改变”指Layout Container中的item添加或者删除(invisible与否也包含在内)。item的添加、删除会引起APPEARING和DISAPPEARING事件,从而引发动画效果。使用setLayoutTransition为Layout Container设置这种功能。如果是自定义的动画,使用setAnimator函数
(1)checkbox1选中:
------使用setStagger函数,设置两种改变引起动画,分别是CHANGE_APPEARING和CHANGE_DISAPPEARING,延迟时间都是30. 这个延迟时间指的是container中相邻item之间的动画延迟。比如将这个延迟增大,那么点击按钮0,0消失后,1的动画开始时间和2的动画开始时间,二者之间的时间差会增长。
------调用自定义函数setupCustomAnimations,这个函数的功能是是使用setAnimator函数增加一个自定义动画,详细见下
(2)checkbox1未选中:
直接setLayoutTransition,使用的不是选中状态下的自定义动画,而是LayoutTransition提供的默认动画。
- setupCustomAnimations函数,使用setAnimator添加自定义动画
四个动画效果:分别为Adding、Changing while adding、Removing、Changing while Removing。
1. Adding:添加一个按钮时。——点击show buttons按钮后,四个按钮显示时的动画
绕y轴旋转90度出现。
2. Changing while adding:添加按钮,导致其他按钮移动时,其他按钮的动画。——本例中四个按钮一起出现,因此这个动画没有体现出来
按钮缩小到不见,又扩大到原样
3. Removing:删除按钮时。——点击下面四个按钮中的某一个,被点击按钮消失的动画
绕x轴旋转90度不见。
4. Changing while removing:删除按钮,导致其他按钮移动时,其他按钮的动画。——本例中,checkbox1、2都勾选,点击四个按钮中的一个,它右方的按钮的动画
转着圈移动到前一位置。
- Android ApiDemo学习(五)Animation—— 6 Hide-Show Animation
- Android ApiDemo学习(五)Animation—— 2 Cloning
- Android ApiDemo学习(五)Animation—— 3 CustomEvaluator
- Android ApiDemo学习(五)Animation—— 5 Events
- Android ApiDemo学习(五)Animation—— 4 Default Layout Animation
- Android ApiDemo学习(五)Animation—— 1 Bouncing Balls
- Android ApiDemo学习(五)Animation——7 Layout Animations
- Android ApiDemo学习(四)Views——1 animation
- APIDemo学习笔记——Android上几种简单的Animation使用方法(二)
- APIDemo学习笔记——Android上几种简单的Animation使用方法(一)
- Android ApiDemo学习(四)Views——7 Layout Animation
- APIDemo学习笔记——Android上几种简单的Animation使用方法(一)
- APIDemo学习笔记——Android上几种简单的Animation使用方法(二)
- ApiDemo - View -Animation 学习
- APIDemo学习笔记——Android上几种简单的Animation使用方法(三)——3D Transition
- APIDemo学习笔记——Android上几种简单的Animation使用方法
- ApiDemo--Animation/Seeking
- 主题:android学习——android Animation
- 手机上看杂志 谁借道谁沾光?
- iOS NSDictionary、NSData、JSON数据类型相互转换
- 对“仅通过崩溃地址找出源代码的出错行”一文的补充与改进
- Android版手风琴(ExpandableListView)
- Monitoring the Cluster in Real Time with CHM (Cluster Health Monitor)
- Android ApiDemo学习(五)Animation—— 6 Hide-Show Animation
- 就业形势
- Windows下Ruby on rails一键安装
- obj2opengl:转换OBJ 3D模型到iPhone OpenGL ES兼容的数组中
- opengl程序运行提示丢失glut32.dll
- 35个Jquery应用实例
- 虚拟桌面专家详细试用评测
- cocos2d学习记录(五)-动画详解
- 如何利用google analytics事件目标统计网站转化率