AnimationDrawable和PropertyAnimation是Android中用来实现动画效果的两种不同方式。
AnimationDrawable是一种逐帧动画,它通过一系列单独的Drawable对象来实现动画效果,每一帧都是一个静态的图片或者Drawable对象。通过定义一组Drawable对象以及它们的显示顺序和持续时间,可以创建一个连续播放的动画效果。AnimationDrawable适用于简单的帧动画,比如Loading动画、按钮点击效果等。
PropertyAnimation是一种属性动画,它通过改变View的属性值来实现动画效果,比如改变View的位置、大小、透明度等。PropertyAnimation提供了更灵活和强大的动画效果,可以实现更复杂的动画效果,比如平移、旋转、缩放等。PropertyAnimation分为ValueAnimator和ObjectAnimator两种类型,可以通过设置目标View的属性值变化来自定义动画效果。
因此,AnimationDrawable适用于简单的帧动画效果,而PropertyAnimation适用于更复杂的属性动画效果。在选择动画效果实现方式时,需要根据具体的需求和效果来选择合适的动画方式。