我想绘制一个圆形矩形,其笔划为蓝色,填充为红色,但我在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);