android – 如何设置笔触颜色以在画布上绘制矩形?

前端之家收集整理的这篇文章主要介绍了android – 如何设置笔触颜色以在画布上绘制矩形?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想绘制一个圆形矩形,其笔划为蓝色,填充为红色,但我在Paint类中找不到设置笔触颜色的方法.我怎样才能做到这一点?
  1. mCanvas.drawColor(mBackgroundColor,PorterDuff.Mode.CLEAR);
  2. mCanvas.setDrawFilter(mPaintFlagsDrawFilter);
  3.  
  4. mPaint.setStyle(Paint.Style.FILL_AND_STROKE);
  5. mPaint.setColor(Color.RED);
  6. mPaint.setStrokeWidth(2);
  7. mPaint.setStrokeCap(Paint.Cap.ROUND);
  8. mRectF.set(0,mWidth,mHeight);
  9. mCanvas.drawRoundRect(mRectF,10,mPaint);

解决方法

油漆一次只允许一种颜色.
  1. mCanvas.drawColor(mBackgroundColor,PorterDuff.Mode.CLEAR);
  2. mCanvas.setDrawFilter(mPaintFlagsDrawFilter);
  3.  
  4. mFillPaint.setStyle(Paint.Style.FILL);
  5. mFillPaint.setColor(Color.RED);
  6. mStrokePaint.setStyle(Paint.Style.STROKE);
  7. mStrokePaint.setColor(Color.BLUE);
  8. mStrokePaint.setStrokeWidth(2);
  9. mStrokePaint.setStrokeCap(Paint.Cap.ROUND);
  10. mRectF.set(0,mHeight);
  11. mCanvas.drawRoundRect(mRectF,mFillPaint);
  12. mCanvas.drawRoundRect(mRectF,mStrokePaint);

如果您发现圆角矩形看起来不正确,则可能会在视图的边界处剪切.调整RectF以允许StrokeWidth的一半:

  1. mRectF.set(1,1,mWidth - 1,mHeight - 1);

猜你在找的Android相关文章