首页 > 系统 > Android > 正文

Android 动画初识篇

2019-11-07 23:47:19
字体:
来源:转载
供稿:网友

在开发中用到动画最为常见了,例如:一些渐变、位移、 旋转、放大、位移加速、减速等等,都要用到动画去实现,下面先来看下动画在Android中的演变过程。


相信每个开发者都知道Android中三类动画:tweenframe属性动画

这里写图片描述 在Android系统3.0(API level 11)之前是没有属性动画的,之所以增加了属性动画,是因为补间动画和帧动画已经满足不了我们了。 去官网(Google专为中国开发者提供的,不翻墙)搜索Animation会发现android.view.animationandroid.animation,其中android.view.animation下面就是补间动画,根据官方的说法帧动画也包含在其中,而android.animation下面就是我们的属性动画。


下面分别说明

一.tween(补间动画) 包含4个重要的类

AlphaAnimation An animation that controls the alpha level of an object. 控制对象的Alpha级别的动画。相信Alpha都很熟悉,控件中可以设置透明度RotateAnimation An animation that controls the rotation of an object. 控制对象旋转的动画。ScaleAnimation An animation that controls the scale of an object. 控制对象比例的动画。TranslateAnimation An animation that controls the position of an object. 控制对象位置的动画。

二.frame(帧动画) 主要的一个类:AnimationDrawable 官方解释:An object used to create frame-by-frame animations, defined by a series of Drawable objects, which can be used as a View object’s background. 用于创建逐帧动画的对象,由一系列Drawable对象定义,可用作View对象的背景。 创建一个xml

<!-- Animation frames are wheel0.png through wheel5.png files inside the res/drawable/ folder --> <animation-list android:id="@+id/selected" android:oneshot="false"> <item android:drawable="@drawable/wheel0" android:duration="50" /> <item android:drawable="@drawable/wheel1" android:duration="50" /> <item android:drawable="@drawable/wheel2" android:duration="50" /> <item android:drawable="@drawable/wheel3" android:duration="50" /> <item android:drawable="@drawable/wheel4" android:duration="50" /> <item android:drawable="@drawable/wheel5" android:duration="50" /> </animation-list>

重要的几个属性:

android:drawable : 引用可绘制图片资源android:duration : 动画播放的时间(以毫秒为单位)。android:oneshot : 如果为true,动画将只运行一次,然后停止。android:variablePadding : 如果为true,则允许drawable的填充基于所选择的当前状态进行更改。android:visible : 提供drawable的初始可见性状态;默认值为false。

三.属性动画 Animation 属性动画顾名思义重点在于属性二字 这里写图片描述 如上图:有一个控件Button,点击它显示Toast,现在让从A移动到B,如果是补间动画,那么,点击在B位置的这个Button是不显示Toast的,如果点击原来的A位置就会显示Toast,这就说明补间动画控件移动它的属性不会跟着动的(下一篇会demo演示),还是在原来的位置A上,所以我们用属性动画就起到作用了,属性动画控件的属性是跟随控件本身的。

当然属性动画不止这一点,比如ValueAnimator可以轻松实现发送验证码倒计时这个功能,各种加速减速等等。


不要走开,下节更精彩!


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表