在Android开发中通过使用视图实现进度条功能

  介绍

在Android开发中通过使用视图实现进度条功能?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

1。ProgressBarView1(支持拖动):

在Android开发中通过使用视图实现进度条功能

2。ProgressBarView2(不同进度值显示不同颜色,不支持拖拽):

在Android开发中通过使用视图实现进度条功能”>,<img src=

代码不多,注释也比较详细,全部贴上了:

(一)ProgressBarView1:

/* *   *自定义绚丽的ProgressBar。   */公开课ProgressBarView1扩展视图{/* *   *进度条所占用的角度   */私有静态最终int ARC_FULL_DEGREE=300;/* *   *弧线的宽度   */私人int STROKE_WIDTH;/* *   *组件的宽,高   */私人int宽度、高度;/* *   *进度条最大值和当前进度值   */私人浮动马克斯,进步;/* *   *是否允许拖动进度条   */私人布尔draggingEnabled=false;/* *   *绘制弧线的矩形区域   */私人RectF circleRectF;/* *   *绘制弧线的画笔   */私人油漆progressPaint;/* *   *绘制文字的画笔   */私人油漆textPaint;/* *   *绘制当前进度值的画笔   */私人油漆thumbPaint;/* *   *圆弧的半径   */私人int circleRadius;/* *   *圆弧圆心位置   */私人int centerX centerY;   公共ProgressBarView1(上下文语境){   超级(上下文);   init ();   }   公共ProgressBarView1(上下文语境,AttributeSet attrs) {   超级(上下文,attrs);   init ();   }   公共ProgressBarView1(上下文语境、AttributeSet attrs int defStyleAttr) {   超级(上下文、attrs defStyleAttr);   init ();   }   私人空间init () {   progressPaint=new油漆();   progressPaint.setAntiAlias(真正的);   textPaint=new油漆();   textPaint.setColor (Color.WHITE);   textPaint.setAntiAlias(真正的);   thumbPaint=new油漆();   thumbPaint.setAntiAlias(真正的);//使用自定义字体   textPaint.setTypeface (Typeface.createFromAsset (getContext () .getAssets (),“fangz.ttf"));   }   @Override   保护空白>/* *   *自定义绚丽的ProgressBar。   */公开课ProgressBarView2扩展视图{/* *   *进度条所占用的角度   */私有静态最终int ARC_FULL_DEGREE=300;//进度条个数   私有静态最终int数=100;//每个进度条所占用角度   私有静态最终浮ARC_EACH_PROGRESS=ARC_FULL_DEGREE * 1.0 f/(数- 1);/* *   *弧线细线条的长度   */私人int ARC_LINE_LENGTH;/* *   *弧线细线条的宽度   */私人int ARC_LINE_WIDTH;/* *   *组件的宽,高   */私人int宽度、高度;/* *   *进度条最大值和当前进度值   */私人浮动马克斯,进步;/* *   *绘制弧线的画笔   */私人油漆progressPaint;/* *   *绘制文字的画笔   */私人油漆textPaint;/* *   *绘制文字背景圆形的画笔   */私人油漆textBgPaint;/* *   *圆弧的半径   */私人int circleRadius;/* *   *圆弧圆心位置   */私人int centerX centerY;   公共ProgressBarView2(上下文语境){   超级(上下文);   init ();   }   公共ProgressBarView2(上下文语境,AttributeSet attrs) {   超级(上下文,attrs);   init ();   }   公共ProgressBarView2(上下文语境、AttributeSet attrs int defStyleAttr) {   超级(上下文、attrs defStyleAttr);   init ();   }   私人空间init () {   progressPaint=new油漆();   progressPaint.setAntiAlias(真正的);   textPaint=new油漆();   textPaint.setColor (Color.WHITE);   textPaint.setAntiAlias(真正的);   textBgPaint=new油漆();   textBgPaint.setAntiAlias(真正的);   }   @Override   保护空白>看完上述内容,你们掌握在Android开发中通过使用视图实现进度条功能的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读!

在Android开发中通过使用视图实现进度条功能