Android自定义宽高动画
2015-07-29 11:08
676 查看
继承Animation类
覆写applyTransformation(),initialize()
覆写applyTransformation(),initialize()
public class ERTWHAnimation extends Animation { /** 控件 */ private View mView = null; /** 控件from宽度 */ private int mFromWidth = 0; /** 控件from高度 */ private int mFromHeight = 0; /** 控件to高度 */ private int mToWidth = 0; /** 控件to高度 */ private int mToHeight = 0; public ERTWHAnimation(View view, float fromW, float fromH, float toW, float toH) { this.mView = view; this.mFromWidth = (int) fromW; this.mToWidth = (int) toW; this.mFromHeight = (int) fromH; this.mToHeight = (int) toH; } //在绘制动画的过程中会反复的调用applyTransformation 函数,每次调用参数interpolatedTime值都会变化,该参数从0渐变为1,当该参数为1时表明动画结束。 @Override protected void applyTransformation(float interpolatedTime, Transformation t) { int width = (int) (mFromWidth + ((mToWidth - mFromWidth) * interpolatedTime)); int height = (int) (mFromHeight + ((mToHeight - mFromHeight) * interpolatedTime)); try { ViewGroup.LayoutParams l = mView.getLayoutParams(); l.width = width; l.height = height; mView.setLayoutParams(l); mView.invalidate(); } catch (Exception e) { Utils.printException(e); } } //这是一个回调函数告诉Animation目标View的大小参数,在这里可以初始化一些相关的参数 @Override public void initialize(int width, int height, int parentWidth, int parentHeight) { super.initialize(width, height, parentWidth, parentHeight); } }
相关文章推荐
- Gifski:一个跨平台的高质量 GIF 编码器
- 模仿动画的放大缩小容器
- php判断GIF图片是否为动画的方法
- 浅析JavaScript动画
- js排序动画模拟-插入排序
- jQuery动画特效实例教程
- JQuery动画和停止动画实例代码
- JQuery动画与特效实例分析
- Jquery 自定义动画概述及示例
- 基于jquery的动画效果代码
- 锋利的jQuery 要点归纳(三) jQuery中的事件和动画(上:事件篇)
- 基于Jquery的温度计动画效果
- javascript与css3动画结合使用小结
- js运动动画的八个知识点
- 深入探究使JavaScript动画流畅的一些方法
- Android开场动画类完整实现代码
- Android精灵动画用法实例
- Android开发之动画实现方法
- android判断动画已结束示例代码
- Android开发之图形图像与动画(五)LayoutAnimationController详解