通过Canvas的叠加实现Android中环形View的颜色填充动画效果
来源:互联网 发布:日本老龄化数据 编辑:程序博客网 时间:2024/06/05 10:53
最近看到很多国内和国外的APP很多表示数据的方式都是通过一个圆环和数字动态展现,很是生动啊,由此也想做个简单的模型试一试效果!
在Android中实现一种效果的方式有很多种,本人使用继承View类,通过Paint和Canvas绘图叠加的方式实现。
首先新建一个RingView继承View类,实现构造器函数如下:(同时获取屏幕的宽和高)
接下来实现draw方法:
首先要绘制一个放在最底部的一个圆形,颜色设置为灰色:
接下来需要在其上边叠加一个画弧的Canvas,颜色设置为红色:
想要变成圆环状,需要在其上边再次绘制一个圆形,以遮挡住弧形,实现圆环状的:颜色设置为白色
到目前为止,圆环状已经出来了,但是我们的目的不是这样就结束的,还要实现动态显示和数据的关联,所以需要在一个Activity中获取数据并且更改第二层中Canvas绘制扇形的弧度大小,实现动态数据绑定。
在MainActivity中通过Handler方式提交invalidate()重绘界面,实现动态绘制View,首先在MainActivity中建立一个内部类CircleThread:
发送消息给Handler,更新View界面然后在onCreate方法中开启新的线程,实现动态的效果之后自己还实现了在EditText输入框中输入数据和绘制的弧形绑定,这部分具体代码就舍略了......
实现动态绘制环形之后,我们还需要知道环形所代表的数值大小。而不是一个大概的抽象的数据,所以我们需要在View的onDraw方法中实现显示当前弧度的大小值:
这样基本就完成了最开始的设想,具体效果如下图所示:文章出处:http://blog.csdn.net/kezhongke/article/details/42642673
0 0
- 通过Canvas的叠加实现Android中环形View的颜色填充动画效果
- 通过Canvas的叠加实现Android中环形View的颜色填充动画效果
- RelativeLayout实现叠加View的动画效果
- Android应用通过AnimationDrawable实现View的动画效果
- Android 中通过Canvas 与线程结合实现动画效果
- Android中View的动画效果
- android RelativeLayout属性和使用, 实现上面view叠加在下面view之上的效果
- android RelativeLayout属性和使用, 实现上面view叠加在下面view之上的效果
- android RelativeLayout属性和使用, 实现上面view叠加在下面view之上的效果2
- Android中RecyclerView的item运用覆盖view的方法实现item的动画效果
- Android 使用View的旋转实现漂亮的动画效果
- Android 绘制一个Loading动画__向图片中缓慢填充颜色,从而形成动画效果
- Android自定义View: 如何实现类钟摆的动画效果?
- Android实现带动画效果的自定义View
- 【Android入门 九】通过绘画View实现动画效果
- Android中动画效果的实现(转)
- Android中动画效果的实现
- Canvas实现绚丽的倒计时效果(动画效果)
- jquery.cookie中的操作
- 也谈C++中char*与wchar_t*之间的转换
- Error:Execution failed for task ':app:transformClassesWithDexForDebug'解决记录
- Debian Customer PPA RFC (by quqi99)
- 优化TTFB
- 通过Canvas的叠加实现Android中环形View的颜色填充动画效果
- Storm配置项详解
- openssl裁剪
- mysql sql语句大全
- android改变ActionBar的高度
- oracle中add_months和trunc用法
- 第1章第2节练习题20 连接两个循环单链表
- 3.有关802.11a/g物理头:LTF部分
- oracle学习