安卓属性动画的总结
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等方面的知识。
刚开始用的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等方面的知识。
相关文章推荐
- HDU 1222 Wolf and Rabbit (扩展欧几里德应用)
- Java 处理 XML 的三种主流技术及介绍
- Android Studio配置debug下使用正式签名调试
- getpagesize.c:32: __getpagesize: Assertion `_rtld_global_ro._dl_pagesize != 0' failed
- java文件io操作
- 【C语言连载五】--------指针
- delphi中文件以及线程操作基础
- 【计算机网络】三次握手和四次挥手
- 手机APP测试系列视频逐步发布
- Python学习----Python基础
- 数据库面对不同业务逻辑约束条件的选择
- Android开发中ANR问题出现及解决
- WIN10 下搭建WAMP(独立安装httpd2.4.16 mysql7.4.7 php 5.6.12 phpMyAdmin 4.4.13版本)
- Java程序员应该知道的10个调试技巧
- Erlang的lists函数
- 使用Xcode连接开源中国
- CSU 1555 splay模拟
- SQL Server里强制参数化的痛苦
- iOS 开发流程笔记
- Bitmap.createBitmap函数有6个重载方法