自定義進度條
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...