Android动画主要分为三类,帧动画、补间动画和属性动画
本篇博客一起来看补间动画
一、什么是补间动画
补间动画通过确定开始的视图样式和结束的视图样式,在状态转移的过程中,系统做了一个补全的动画。
二、补间动画的特点
补间动画只能作用于视图控件view,如我们常使用的TextView、ImageView、Button等,不可作用于View组件的属性,如背景、颜色等
需要注意的是,补间动画只是改变了view的视觉显示,并没有改变view的属性,举个栗子,在左边有一个button,通过平移动画将它移动到了右边,这个时候,点击右边的btn是触发不了点击事件的,而点击左边button的初始区域,却可以触发点击事件,这点需要特别关注。
根据不同的实现效果,补间动画分为四种
1)平移动画(Translate)
2)缩放动画(Scale)
3)旋转动画(rotate)
4)透明度动画(alpha)
三、应用场景
View的平移、缩放、旋转、透明度改变等
Activity、Fragment的切换效果等
四、具体使用
补间动画同样可以使用xml的方式与Java代码的方式来进行设置
1)平移
xml方式
在anim文件夹下建立xml文件
<?xml version="1.0" encoding="utf-8"?>
// 采用<translate /> 标签表示平移动画
<translate xmlns:android="http://schemas.android.com/apk/res/android"
// 以下参数是4种动画效果的公共属性,即都有的属性
android:duration="3000" // 动画持续时间(ms),必须设置,动画才有效果
android:startOffset ="1000" // 动画延迟开始时间(ms)
android:fillBefore = “true” // 动画播放完后,视图是否会停留在动画开始的状态,默认为true
android:fillAfter = “false” // 动画播放完后,视图是否会停留在动画结束的状态,优先于fillBefore值,默认为false
android:fillEnabled= “true” // 是否应用fillBefore值,对fillAfter值无影响,默认为true
android:repeatMode= “restart” // 选择重复播放动画模式,restart代表正序重放,