Android动画中的一些知识点的总结
来源:互联网 发布:小超市供销存管理优化 编辑:程序博客网 时间:2024/05/23 15:44
Android动画知识点
Android animation中有很多知识点,各种属性需要我们记住,但是由于本人记性不好,每次需要时都要去搜,觉得很麻烦,因此把一些常用的各种属性写到博客里,这样下次直接就可以找到了。
一、AnimationSet
AnimationSet是Animation的子类,它是一系列动画的集合,可以包含多个动画,显示多种动画效果。
常见的使用方法:
1、创建一个AnimationSet对象(Animation子类);
2、增加需要创建相应的Animation对象;
3、更加项目的需求,为Animation对象设置相应的数据;
4、将Animatin对象添加到AnimationSet对象当中;
5、使用控件对象开始执行AnimationSet。
二、Tween Animation的说明
1、setDuration(long durationMills)
设置动画持续时间(单位:毫秒)
2、setFillAfter(Boolean fillAfter)
如果fillAfter的值为true,则动画执行后,控件将停留在执行结束的状态
3、setFillBefore(Boolean fillBefore)
如果fillBefore的值为true,则动画执行后,控件将回到动画执行之前的状态
4、setStartOffSet(long startOffSet)
设置动画执行之前的等待时间
5、setRepeatCount(int repeatCount)
设置动画重复执行的次数
6、 setRepeatCount(int repeatCount)
设置动画重复的类型
7、 setInterpolator(Interpolator)
设定插值器(指定的动画效果,譬如回弹等)
Animation属性详解
Rotate属性详解
Scale属性详解
Translate属性详解
注意事项
补间动画执行之后并未改变View的真实布局属性值。切记这一点,譬如我们在Activity中有一个Button在屏幕上方,我们设置了平移动画移动到屏幕下方然后保持动画最后执行状态呆在屏幕下方,这时如果点击屏幕下方动画执行之后的Button是没有任何反应的,而点击原来屏幕上方没有Button的地方却响应的是点击Button的事件。
三、Interpolator的具体使用方法
Interpolator定义了动画变化的速率,在Animations框架当中定义了一下几种Interpolator
★ AccelerateDecelerateInterpolator:在动画开始与结束的地方速率改变比较慢,在中间的时候速率快。
★ AccelerateInterpolator:在动画开始的地方速率改变比较慢,然后开始加速
★ CycleInterpolator:动画循环播放特定的次数,速率改变沿着正弦曲线
★ DecelerateInterpolator:在动画开始的地方速率改变比较慢,然后开始减速
★ LinearInterpolator:动画以均匀的速率改变
分为以下几种情况:
1、在set标签中
<set xmlns:android="http://schemas.android.com/apk/res/android" android:interpolator="@android:anim/accelerate_interpolator"/>
2、如果在一个set标签中包含多个动画效果,如果想让这些动画效果共享一个Interpolator。
android:shareInterpolator="true"
3、如果不想共享一个interpolator,则设置
android:shareInterpolator=”true”,并且需要在每一个动画效果处添加interpolator。
<alphaandroid:interpolator="@android:anim/accelerate_decelerate_interpolator" />
4、如果是在代码上设置共享一个interpolator,则可以在AnimationSet设置interpolator。
AnimationSet animationSet = newAnimationSet(true);animationSet.setInterpolator(new AccelerateInterpolator());
5、如果不设置共享一个interpolator则可以在每一个Animation对象上面设置interpolator。
AnimationSet animationSet = newAnimationSet(false);alphaAnimation.setInterpolator(new AccelerateInterpolator());rotateAnimation.setInterpolator(new DecelerateInterpolator());
四、 AnimationListener
1、AnimationListener是一个监听器,该监听器在动画执行的各个阶段会得到通知,从而调用相应的方法;
2、AnimationListener主要包括如下三个方法:
★ onAnimationEnd(Animation animation) - 当动画结束时调用
★ onAnimationRepeat(Animation animation) - 当动画重复时调用
★ onAniamtionStart(Animation animation) - 当动画启动时调用
五、Drawable动画说明
我们依旧可以使用xml或者java方式实现帧动画。但是依旧推荐使用xml,具体如下:
< animation-list>必须是根节点,包含一个或者多个< item>元素,属性有:android:oneshot true代表只执行一次,false循环执行。
< item> 类似一帧的动画资源。
< item> animation-list的子项,包含属性如下:
android:drawable 一个frame的Drawable资源。
android:duration 一个frame显示多长时间。
~
~
~
~
~
今天先写到这里,下次继续
- Android动画中的一些知识点的总结
- Android开发中的一些小的知识点总结
- 项目中的一些常用的知识点总结
- android 一些重要的知识点总结
- 总结Android模块化的一些知识点。
- 总结Android模块化的一些知识点
- CAAnimation动画的一些知识点
- CAAnimation动画的一些知识点
- CAAnimation动画的一些知识点
- Android中关于Animation和Animator动画的知识点总结
- Android中的一些小知识点
- Android的一些知识点
- C++的一些知识点总结
- ios一些知识点的总结
- Java一些知识点的总结
- 树的一些知识点总结
- 总结的一些小知识点
- 有关动画的一些总结
- 最长公共子序列装换成最长递增子序列
- [SCOI2005]骑士精神
- 嵌入式linux入门学习规划
- Nginx常见问题
- 模块,AMD,require笔记
- Android动画中的一些知识点的总结
- iOS10 权限崩溃
- HTML5-嵌入内容
- 每天一个linux命令(9):touch 命令
- vip 模块串讲
- vim格式化代码
- [LeetCode] Ransom Note (java)
- 最长公共子串基本介绍
- Toast使用小技巧