自定義圓形進度條

2021-07-03 03:51:43 字數 1603 閱讀 9945

/**

* @author wangxiao

* */

public class roundprogressbar extends view

public roundprogressbar(context context, attributeset attrs)

public roundprogressbar(context context, attributeset attrs, int defstyle)

@override

protected void ondraw(canvas canvas)

/*** 畫圓弧 ,畫圓環的進度

*///設定進度是實心還是空心

paint.setstrokewidth(roundwidth); //設定圓環的寬度

paint.setcolor(roundprogresscolor); //設定進度的顏色

rectf oval = new rectf(centre - radius-1, centre - radius-1, centre

+ radius+1, centre + radius+1); //用於定義的圓弧的形狀和大小的界限

switch (style)

case fill:}}

public synchronized int getmax()

/*** 設定進度的最大值

* @param max

*/public synchronized void setmax(int max)

this.max = max;

}/**

* 獲取進度.需要同步

* @return

*/public synchronized int getprogress()

/*** 設定進度,此為執行緒安全控制項,由於考慮多線的問題,需要同步

* 重新整理介面呼叫postinvalidate()能在非ui執行緒重新整理

* @param progress

*/public synchronized void setprogress(int progress)

if(progress > max)

if(progress <= max)

}public int getcriclecolor()

public void setcriclecolor(int criclecolor)

public int getcricleprogresscolor()

public void setcricleprogresscolor(int cricleprogresscolor)

public int gettextcolor()

public void settextcolor(int textcolor)

public float gettextsize()

public void settextsize(float textsize)

public float getroundwidth()

public void setroundwidth(float roundwidth)

}

自定義圓形進度條

之前做專案的時候有用到環形進度條,先是在網上找了一下第三方控制項,發現好用是好用,就是東西太多了,有點複雜,還不如自己寫乙個簡單點適合自己用的。先把自定義控制項的效果圖貼出來。其實我寫的這個控制項很簡單。索性就直接把原始碼貼出來吧。h檔案的內容就是一些宣告 import inte ce progre...

自定義圓形進度條

首先在values檔案下面建立 attr.xml檔案 name circleprogressbar name ringcolor format color name ridus format dimension name ringwidth format dimension name textsiz...

自定義圓形進度條

fromdegrees 動畫開始時的角度 todegrees 動畫結束時物件的旋轉角度,正代表順時針 pivotx 屬性為動畫相對於物件的x座標的開始位置 pivoty 屬性為動畫相對於物件的y座標的開始位置 duration 設定時間 android shape rectangle oval li...