动画分为三种:
逐帧动画、布局动画和控件动画
-----------------------------
控件动画实现
通过重写Animation的applyTransformation(float interpolatedTime, Transformation t)函数来实现自定义动画效果,另外一般也会实现initialize(int width, int height, int parentWidth, int parentHeight)函数,这是一个回调函数告诉Animation目标View的大小参数,在这里可以初始化一些相关的参数,例如设置动画持续时间、设置Interpolator、设置动画的参考点等。
OPhone在绘制动画的过程中会反复的调用applyTransformation函数,每次调用参数interpolatedTime值都会变化,该参数从0渐变为1,当该参数为1时表明动画结束。通过参数Transformation 来获取变换的矩阵(matrix),通过改变矩阵就可以实现各种复杂的效果。
下面举例说明一个控件动画:
Animation anim = new Animation() {
@Override
protected void applyTransformation(float interpolatedTime, Transformation t) {
if (interpolatedTime == 1) {
v.setVisibility(View.GONE);
}
else {
v.getLayoutParams().height = initialHeight - (int)(initialHeight * interpolatedTime);
v.requestLayout();
}
}
@Override
public boolean willChangeBounds() {
return true;
}
};
例子中,一个view的高度逐渐由原来的高度变为0。当动画结束之后,view消失。
分享到:
相关推荐
安卓开发-动画效果切换Activity动画 控件位置调整.zip.zip
Android--开发--Fragment动画效果
安卓开发-android-flip 类似Flipboard翻转动画的实现.zip.zip
安卓开发-Android Layout UI 首页加载过渡动画,星期变化动画
安卓开发-菜单动画(类似QQ空间)Demo.zip
安卓开发-仿赶集生活android客户端的介绍动画界面
安卓开发-andengine中直接加载多张小图片合成一张大图片生成动画精灵
安卓开发-listview 的各种动画效果.zip
RemoveDuration、MoveDuration、AddDuration、ChangeDuration 对应博文:http://blog.csdn.net/iwanghang/article/details/53116361
Android移动开发-属性动画的实现,该示范了如何利用属性动画来控制“小球”掉落动画,该示例会监听用户在屏幕上的“触屏”时间,程序会在屏幕的触摸点绘制一个小球,并用动画控制该小球向下掉落。
安卓开发-乐动力的酷黑旋转引导动画
安卓开发-序列帧动画,开始,结束监听的解决.zip.zip
安卓开发-高仿墨迹天气背景动画效果-云,风,雪等.zip
安卓开发-渐入渐出动画 无闪烁 无黑底 Demo.zip
安卓开发-animation的结合蝴蝶飞的动画,使用动画里面的几种类型.zip
安卓开发-模仿乐动力介绍页面第一屏动画效果.zip
android-gif-drawable 用于在Android上显示动画GIF
安卓开发-android端用于异步加载图片,内存缓存,文件缓存,imageview显示图片时增加淡入淡出动画。.zip.zip
入门练习——VideoView视频播放器,补间动画,刮刮卡,设置界面,视频播放器,摇一摇和帧动画。