環形進度條CircleProgress

2021-07-06 05:08:55 字數 2215 閱讀 7800

自定義環形進度條,兩種顏色,背景顏色和進度顏色,記錄進度值

import android.content.context;

import android.content.res.typedarray;

import android.graphics.canvas;

import android.graphics.color;

import android.graphics.paint;

import android.graphics.rectf;

import android.util.attributeset;

import android.view.view;

/** *@author joker_ya

*/public

class

mycircleprogress

extends

view

@override

protected

void

ondraw(canvas canvas)

// 獲得元件的寬高

width = getmeasuredwidth();

height = getmeasuredheight();

// 獲得半徑

radius = width / 2 - circlewidth;

// 設定畫筆顏色64646d 背景顏色

paint.setcolor(color.argb(0xff, 0x64, 0x64, 0x6d));

// 設定畫筆寬度

paint.setstrokewidth(circlewidth);

// 中心畫圓

canvas.drawcircle(width / 2, height / 2, radius, paint);

// /* 繪製邊線 */

// // 畫筆寬度

// paint.setstrokewidth(1f);

// // 邊線顏色

// paint.setcolor(color.red);

// canvas.drawcircle(width / 2, height / 2, radius + circlewidth / 2

// + 0.5f, paint);

// canvas.drawcircle(width / 2, height / 2, radius - circlewidth / 2

// - 0.5f, paint);

//畫筆填充顏色

fillpaint.setcolor(color.argb(0xff, 0xee, 0x6b, 0x9e));

// 設定填充畫筆的型別,邊角是圓角的

fillpaint.setstrokecap(paint.cap.round);

// 畫筆寬度

fillpaint.setstrokewidth(circlewidth);

// 設定左上角和右下角座標

oval.set(width / 2 - radius, height / 2 - radius, width / 2 + radius,

height / 2 + radius);

// 繪製圓弧。第二個引數為起始角度,第三個為跨越的角度,第三個為實心,true為實心,false為空心

canvas.drawarc(oval, -90, ((float) progress / max) * 360, false,

fillpaint);

}@override

protected

void

onmeasure(int widthmeasurespec, int heightmeasurespec)

// 定義介面progresschangelistener

public

inte***ce

onprogresschangelistener

public

void

setonprogresschangelistener(onprogresschangelistener listener)

// 設定進度

public

void

setprogress(int progress) else }}

// 重置進度

public

void

reset()

}

環形進度條

在專案中做廣告頁,需要乙個5s倒計時的進度條。就用了calayer寫了乙個簡單的進度條。直接上 import inte ce circularprogressview uiview void start void stop import circularprogressview.h import i...

環形進度條

先上效果圖 不多。直接貼 html 0 css body box rotate left right center popu left before left after input radius bg radius dot radius dot before radius dot before s...

環形進度條

先上效果圖 設定進度 param progress public void setprogress int progress 得到 circularprogressbar 物件,用來設定其他的一些屬性 return public circularprogressbar getcircularprog...