您的位置:首页 > 其它

安卓属性动画的总结

2015-08-28 19:44 120 查看
做了一个月的安卓属性动画,要过是对一张图片进行从一点缓缓展开,然后在图片上显示数字,显示一段时间之后数字消失,消失后图片也紧跟着缓缓消失的效果。

刚开始用的Canvas进行对图片画实现动画的效果,通过Matrix来手动的调节图片放大+倾斜的效果近似的模拟展开的效果,后来发现如果用Canvas.drawBitmap的方法会出现卡顿的现象,因为Matrix调节的像素是手动调节的,所以会出现卡顿的现象。

后来用ValueAnimator来实现动画的效果,流畅度有了很好的提升,用 valueAnimator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {

@Override

public void onAnimationUpdate(ValueAnimator animation) {

}

}

这个方法实现的效果还好,通过控制x、y也可以实现类抛物线的运行轨迹,也可以设置方向上的加速度。但是还是用Matrix做模拟的放大+倾斜实现,但是感觉不流畅

针对安卓的轨迹动画,我有用了贝塞尔曲线的方式,先通过贝塞尔曲线画出一条图片运行的轨迹,然后通过PathMeasure来实现图片的寻路径运行,实现了图片的运行轨迹的效果

针对最后的类似于苹果电脑上文件收放的流畅效果,借鉴了

/article/2491903.html这个网站上的效果,图片变得更加流畅了,但是我们是很小的动画,运行的速度很快,老大说没必要这么麻烦,直接用缩小+倾斜实现图片的出入,瞬间被石化有木有

其实后来想想如果想实现更多的效果,就去把OpenGL看看吧,那个实现翻页的效果很流畅,如果用到这个动画上肯定比4中的流畅的多

最终还是用了ValueAnimator实现了这个小动画。。。但是实现这个用了近两周的时间,实现了四五种不同的动画效果,当然老大让用属性动画而不让用手动Canvas去画Bitmap,因为属性动画性能会更好,能自动实现硬加速。

欢迎大家来拍砖,一起讨论属性动画、OpenGL等方面的知识。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: