我想绘制一个圆形矩形,其笔划为蓝色,填充为红色,但我在Paint类中找不到设置笔触颜色的方法.我怎样才能做到这一点?
mCanvas.drawColor(mBackgroundColor,PorterDuff.Mode.CLEAR); mCanvas.setDrawFilter(mPaintFlagsDrawFilter); mPaint.setStyle(Paint.Style.FILL_AND_STROKE); mPaint.setColor(Color.RED); mPaint.setStrokeWidth(2); mPaint.setStrokeCap(Paint.Cap.ROUND); mRectF.set(0,mWidth,mHeight); mCanvas.drawRoundRect(mRectF,10,mPaint);
解决方法
油漆一次只允许一种颜色.
mCanvas.drawColor(mBackgroundColor,PorterDuff.Mode.CLEAR); mCanvas.setDrawFilter(mPaintFlagsDrawFilter); mFillPaint.setStyle(Paint.Style.FILL); mFillPaint.setColor(Color.RED); mStrokePaint.setStyle(Paint.Style.STROKE); mStrokePaint.setColor(Color.BLUE); mStrokePaint.setStrokeWidth(2); mStrokePaint.setStrokeCap(Paint.Cap.ROUND); mRectF.set(0,mHeight); mCanvas.drawRoundRect(mRectF,mFillPaint); mCanvas.drawRoundRect(mRectF,mStrokePaint);
如果您发现圆角矩形看起来不正确,则可能会在视图的边界处剪切.调整RectF以允许StrokeWidth的一半:
mRectF.set(1,1,mWidth - 1,mHeight - 1);