【IT专家】使用画笔(Paint)实现圆形动态进度条
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
本文由我司收集整编,推荐下载,如有疑问,请与我司联系
使用画笔(Paint)实现圆形动态进度条
2016/10/16 308 实现效果:
/pre p /p p 实现代码:/p p span /span 创建两个画笔,一支使黑色的笔,一个
是白色的笔/p p /p pre code_snippet_id=“1931933”snippet_file_name=“blog_20161016_2_6233623”name=“code”/pre pre name=“code”// 首先实例化黑色画笔paint_Balck = new Paint(); paint_Balck.setAntiAlias(true);// 消除
锯齿paint_Balck.setColor(blackColor);// 设置画笔颜色paint_Balck.setStrokeWidth(tb * 0.2f);// 设置空心的边框paint_Balck.setStyle(Style.STROKE);// 设置画笔风格,实
心或空心// 实例化白色画笔paint_White = new Paint(); paint_White.setAntiAlias(true); paint_White.setColor(whiteColor); paint_White.setStrokeWidth(tb * 0.2f); paint_White.setStyle(Style.STROKE); paint_White.setTextAlign(Align.CENTER);// 画字体,的对齐方式:居中paint_White.setTextSize(tb * 6.0f);// 白色画笔会画字体然后设置一个矩形区域,用来
画圆// 实例化RectF,画一个矩形区域,在矩形区域上画圆弧rectf = new RectF(); rectf.set(tb * 0.5f, tb * 0.5f, tb * 20f, tb * 20f);然后/建立一个observer 观察者,用来刷
线页面
getViewTreeObserver().addOnPreDrawListener(new OnPreDrawListener() { @Override public boolean onPreDraw() { new thread(); getViewTreeObserver().removeOnPreDrawListener(this); return false;线程里面进行进度的变化的控制及更新,以及数字文字变化的控制及更新
Thread.sleep(15); arc_y += 3.6f;// 满分为一百分,3.6*100 为306 度score_text++;// 每次增加一count++; postInvalidate();// postInvalidate()刷新界面最
后在view 中重写onDraw 方法,进行圆形,以及数字文字的绘画// 在view 中重。