自定義view CircleProgressBar

public class CircleProgressBar extends View
{
  private int maxProgress = 100;
  RectF oval = new RectF();
  Paint paint = new Paint();
  private int progress = 0;
  private int progressStrokeWidth = 4;


  public CircleProgressBar(Context paramContext, AttributeSet paramAttributeSet)
  {
    super(paramContext, paramAttributeSet);
  }


  public int getMaxProgress()
  {
    return this.maxProgress;
  }


  protected void onDraw(Canvas paramCanvas)
  {
    super.onDraw(paramCanvas);
    int width = getWidth();
    int height = getHeight();
    int j = height;
    int i = width;
    if (width != height)
    {
      j = Math.min(width, height);
      i = j;
    }
    this.paint.setAntiAlias(true);
    this.paint.setColor(-1);
    paramCanvas.drawColor(0);
    this.paint.setStrokeWidth(this.progressStrokeWidth);
    this.paint.setStyle(Paint.Style.STROKE);
    this.oval.left = (this.progressStrokeWidth / 2);
    this.oval.top = (this.progressStrokeWidth / 2);
    this.oval.right = (i - (this.progressStrokeWidth / 2));
    this.oval.bottom = (j - (this.progressStrokeWidth / 2));
    this.paint.setColor(Color.parseColor("#4cd964"));
    paramCanvas.drawArc(this.oval, -90.0F, 360.0F * this.progress / this.maxProgress, false, this.paint);
  }


  public void setMaxProgress(int paramInt)
  {
    this.maxProgress = paramInt;
  }


  public void setProgress(int paramInt)
  {
    this.progress = paramInt;
    invalidate();
  }


  public void setProgressNotInUiThread(int paramInt)
  {
    this.progress = paramInt;
    postInvalidate();
  }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章