标签:view
1.paint.setStyle(Paint.Style.STROKE)
// radius="100dp" // interRadius="40dp" // linearWidth="10dp" // stokenWidth="40dp"
mPaint=new Paint(); mPaint.setStyle(Paint.Style.STROKE); mPaint.setStrokeWidth(mStokenWidth); mPaint.setColor(Color.BLUE); mPaint.setAntiAlias(true); mPaint2=new Paint(); mPaint2.setStyle(Paint.Style.STROKE); mPaint2.setColor(Color.BLACK); int left=mStokenWidth/2; int top=mStokenWidth/2; mRectF=new RectF(); mRectF.left=left; mRectF.top=top; mRectF.right=(mRadius-left)*2; mRectF.bottom=(mRadius-top)*2;
@Override protected void onDraw(Canvas canvas) { super.onDraw(canvas); canvas.drawArc(mRectF, 0, 90, false, mPaint); mPaint.setColor(Color.RED); canvas.drawArc(mRectF, 90, 90, false, mPaint); mPaint.setColor(Color.YELLOW); canvas.drawArc(mRectF, 180, 90, false, mPaint); mPaint.setColor(Color.GRAY); canvas.drawArc(mRectF, 270, 90, false, mPaint); canvas.drawRect(mRectF,mPaint2); }
如图:
2.paint.setStyle(Paint.Style.FILL)
效果如下
RectF画的矩形刚好成为了扇形的外切矩形
说明当style 为stoken 的时候,rectf画出的举行每条边刚好在描边的中间当style为Fill的时候,rect为整个图形的外切矩形
关于canvas.drawArc,canvas.drawOval 和RectF 的关系
标签:view
原文地址:http://blog.csdn.net/senyangs/article/details/44240307