自定义view常用属性

//画笔的设置
mPaint.setAntiAlias(false);//消除锯齿
mPaint.setStrokeWidth(mCircleWidth); // 设置圆环的宽度  
mPaint.setStrokeCap(Paint.Cap.ROUND); // 画出的线是线段,并且线段的末端是圆头
mPaint.setStyle(Paint.Style.STROKE); // 设置空心 
mPaint.getTextBounds(titleText, 0, titleText.length(), mBound);//以 (0,0)为起点返回一个匹配当前的字符最小的矩形


---------------------------------------------------------------------

getPaddingTop() //获取设置的view的padding值
setMeasuredDimension(mWide, mHeight);//在onmeasure方法中,重新构造了view的大小
postInvalidate(); //重画view   postInvalidate()在工作者线程中被调用    刷新view 
requestLayout();   //重画view  当被刷新的view需要重新刷新父类布局的时候进行调用

---------------------------------------------------------------------
//获取 attrs文件中的属性值
TypedArray a =context.getTheme().obtainStyledAttributes(attrs, R.styleable.SecondView, defStyleAttr, 0);
//限定弧形区域的上下左右的位置
RectF oval=new RectF(float left, float top, float right, float bottom);
/**
 *  oval :指定圆弧的外轮廓矩形区域。
	startAngle: 圆弧起始角度,单位为度。
	sweepAngle: 圆弧扫过的角度,顺时针方向,单位为度。
	useCenter: 如果为True时,在绘制圆弧时将圆心包括在内,通常用来绘制扇形。
	paint: 绘制圆弧的画板属性,如颜色,是否填充等。

	其中x轴正极是  0  ,y轴的正极是  -90
 */
canvas.drawArc(oval, -90, mProgress, false, mPaint);

/**
  画一个圆
  cx:原点x轴位置
  cy:原点y轴位置
  radius:圆的半径
  paint:画笔   可以通过画笔的设置达成很多的效果

*/
canvas.drawCircle(float cx, float cy, float radius, Paint paint);

//一个矩形,一般字符串和图片都是需要通过这个矩形作为载体进行画图  以下的mbound就是一个矩形对象
Rect rect=new Rect();
mPaint.getTextBounds(titleText, 0, titleText.length(), mBound);//以 (0,0)为起点返回一个匹配当前的字符最小的矩形

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章