最近在專案總會用到一些圓形進度條,所以就記錄下來 供以後可用
首先新建乙個circleprogressbar 繼承view
import android.content.context;
import android.graphics.canvas;
import android.graphics.color;
import android.graphics.paint;
import android.graphics.rectf;
import android.util.attributeset;
import android.view.view;
/*** created by liwenjie on 2016/3/10 17:22
*/public class circleprogressbar extends view
public circleprogressbar(context context, attributeset attrs)
public circleprogressbar(context context, attributeset attrs, int defstyleattr)
@override
protected void
ondraw(canvas canvas)
paint.setantialias(true);
// 設定畫筆為抗鋸齒
paint.setcolor(color.white
); //
設定畫筆顏色
canvas.drawcolor(color.transparent
); //
白色背景
paint.setstrokewidth(progressstrokewidth);
// 線寬
paint.setstyle(paint.style.stroke
);oval.left = progressstrokewidth / 2
; //
左上角x
oval.top = progressstrokewidth / 2
; //
左上角y
oval.right = width - progressstrokewidth / 2
; //
左下角x
oval.bottom = height - progressstrokewidth / 2
; //
右下角y
canvas.drawarc(oval
, -90
, 360
, false,
paint);
// 繪製白色圓圈,即進度條背景
164, 247)
paint.setcolor(progresscolor);
canvas.drawarc(oval
, -90
, ((float) progress / maxprogress) * 360
,false,
paint);
// 繪製進度圓弧,這裡是藍色
/*以下是在圓圈中間寫字,看情況新增
*//*
paint.setstrokewidth(1);
string text = "√";//progress + "%";
int textheight = height / 2;
paint.settextsize(textheight);
int textwidth = (int) paint.measuretext(text, 0, text.length());
paint.setstyle(paint.style.fill);
canvas.drawtext(text, centre - textwidth / 2, centre + textheight/4,paint);*/
} public int
getmaxprogress()
public void
setmaxprogress(int maxprogress)
public int
getprogress()
public void
setprogress(int progress)
public int
getprogressstrokewidth()
public void
setprogressstrokewidth(int progressstrokewidth)
/*** 非ui執行緒呼叫
*/public void
setprogressnotinuithread(int progress)
public int
getprogresscolor()
public void
setprogresscolor(int progresscolor)
}
自定義圓形進度條
author wangxiao public class roundprogressbar extends view public roundprogressbar context context,attributeset attrs public roundprogressbar context ...
自定義圓形進度條
之前做專案的時候有用到環形進度條,先是在網上找了一下第三方控制項,發現好用是好用,就是東西太多了,有點複雜,還不如自己寫乙個簡單點適合自己用的。先把自定義控制項的效果圖貼出來。其實我寫的這個控制項很簡單。索性就直接把原始碼貼出來吧。h檔案的內容就是一些宣告 import inte ce progre...
自定義圓形進度條
首先在values檔案下面建立 attr.xml檔案 name circleprogressbar name ringcolor format color name ridus format dimension name ringwidth format dimension name textsiz...