1、邊界引數——-widthmeasurespec和heightmeasurespec,效率的原因以整數的形式傳入。在它們使用之前,首先要做的是使用measurespec類的靜態方法getmode和getsize來解釋。2、specmode有三種
measurespec.exactly —>邊界已經確定,match_parent,fill_parent,50dp
measurespec.at_most—->父控制項能給的最大尺寸,這樣子view會根據這個上限來設定自己的尺寸,wrap_content.
measurespec.unspecified –>未指定大小,可以是任意大小。這種情況不多,一般都是父控制項是adapterview,通過measure方法傳入的模式。
3、setmesaureddimension(),這個方法必須由onmeasure(int,int)來呼叫,來儲存測量的寬,高值,如果是含有子view的還要呼叫measurechildren()
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
/**
* created by administrator on 2016-10-18.
** 自定義乙個進度條
*/public class customview extends view
public customview(context context, attributeset attrs)
public customview(context context, attributeset attrs, int defstyleattr)
init();
}private void init()
@override
protected void ondraw(canvas canvas) {
initrectf();
float angle=progress/(float)maxprogress*360;//轉換成角度
canvas.drawcircle(mwidth/2,mheight/2,mradius,mpaintbackcirle);//畫圓
自定義進度條
自定義進度條 1 繪製底色 灰色 2 繪製進度 藍色 3 繪製最大的進度 純藍色 rectf rf new rectf 0,0,mwidth,mheight 繪製圓角矩形,背景色為畫筆顏色 mpaint.setcolor color.rgb 220,220,220 canvas.drawroundr...
自定義圓形進度條,繪製進度條
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...