自定義進度條

2021-08-21 09:35:48 字數 1826 閱讀 3449

自定義進度條

1、繪製底色(灰色)

2、繪製進度(藍色)

3、繪製最大的進度(純藍色)

rectf rf = new rectf(0, 0, mwidth, mheight);

/*繪製圓角矩形,背景色為畫筆顏色*/

mpaint.setcolor(color.rgb(220, 220, 220));

canvas.drawroundrect(rf, round, round, mpaint);

/*設定progress內部是灰色*/

mpaint.setcolor(color.rgb(242, 241, 246));

rectf rectblackbg = new rectf(3, 3, mwidth - 3, mheight - 3);

canvas.drawroundrect(rectblackbg, round, round, mpaint);

ismax 判斷是否為最大的進度
//設定進度條進度及顏色

float section = currentcount / maxcount;

rectf rectprogressbg = new rectf(0, 0, mwidth * section, mheight);

if (section != 0.0f) else

} else

public

class

progressview

extends

view

public

progressview(context context, attributeset attrs)

public

progressview(context context)

/***

* 設定最大的進度值

*@param maxcount

*/public

void

setmaxcount(float maxcount)

/***

* 設定為最大項

*/public

void

setismax(boolean b)

/***

* 設定當前的進度值

*@param currentcount

*/public

void

setcurrentcount(float currentcount)

@override

protected

void

ondraw(canvas canvas) else

} else

}private

intdiptopx(int dip)

@override

protected

void

onmeasure(int widthmeasurespec, int heightmeasurespec) else

最大尺寸,只要不超過父控制項允許的最大尺寸即可,measurespec.unspecified未指定尺寸

if (heightspecmode == measurespec.at_most || heightspecmode == measurespec.unspecified) else

//設定控制項實際大小

setmeasureddimension(mwidth, mheight);}}

如有意見和建議,及時溝通。

自定義圓形進度條,繪製進度條

inte ce hmprogressview property nonatomic,weak uilabel label end implementation hmprogressview self drawrect self.bounds 重新繪製 在view上做乙個重繪的標記,當下次螢幕重新整理...

自定義 ProgressBar 進度條 自定義樣式

今天學習給progressbar換個樣式,先看效果圖 c h,e d8 z f j x 原理 在xml檔案中分別定義進度條背景 第一進度顏色 第二進度顏色,然後在progressbar的android progressdrawable屬性應用即可。6 j a7 c h b k h q y g s d...

自定義通知(進度條)

notification.xml package com.pekall.notificationdemo import android.content.intent import android.os.bundle import android.widget.remoteviews public c...