Android系统一开始就提供了两种实现动画的方式:
-
View Animation(补间动画 Tweened animation)
-
Drawable Animation(逐帧动画 Frame Animation)
逐帧动画就不用说了,补间动画可以实现4种基本变换—平移、旋转、缩放、透明度,但是也存在一定的缺点
-
作用对象局限于View
-
没有改变View的属性,只是改变视觉效果
-
动画效果单一
为了解决补间动画的缺陷,从 Android 3.0(API 11)开始,系统提供了一种全新的动画模式—属性动画(Property Animation),下面我们就用属性动画来实现TV上的焦点框移动效果。
首先,我们在xml布局中定义一个ImageView控件作为焦点框,这里布局采用ConstraintLayout和DataBinding
<?xml version="1.0" encoding="utf-8"?>