Android UI效果之绘图篇(二)

2019-12-10 19:02:26王旭

绘制路径

mPaint.setStyle(Paint.Style.STROKE);
  mPaint.setStrokeWidth(3);
  Path path = new Path();
  path.moveTo(5, 10);
  path.lineTo(120, 30);
  path.lineTo(44, 66);
  path.lineTo(77, 231);
  canvas.drawPath(path, mPaint);

Android UI效果之绘图篇(二)

绘制路径比较简单,依次添加相应的坐标点即可,注意设置画笔的抗锯齿和Style即可。 
- 绘制文字路径

 mPaint.setStyle(Paint.Style.STROKE);
  mPaint.setStrokeWidth(3);
  Path path = new Path();
  path.moveTo(50, 50);
  path.lineTo(200, 250);
  path.lineTo(300, 450);
  path.lineTo(300, 650);
  mPaint.setTextSize(46);
  canvas.drawTextOnPath("Hi_xiaoyu_bolg_in_android", path, 0, 0, mPaint);

Android UI效果之绘图篇(二)

这个和绘制路径一样,注意设置大小,画笔粗细即可。

/**
  * 画圆
  * @param cx  圆心X坐标
  * @param cy  圆心Y坐标
  * @param radius 圆的半径
  * @param paint 
  */
 public void drawCircle(float cx, float cy, float radius, Paint paint) {
 } 

  // 画圆
  canvas.drawCircle(50, 50, 50, mPaint);
  RectF r = new RectF(150, 0, 270, 110);
  // 画矩形
  canvas.drawRect(r, mPaint);
  RectF oval = new RectF(0, 120, 50, 270);
  // 画椭圆
  canvas.drawOval(oval, mPaint);
  RectF rect = new RectF(100, 120, 170, 200);
  // 画圆角矩形
  canvas.drawRoundRect(rect, 30, 20, mPaint);
  // 画线
  canvas.drawLine(200, 120, 300, 300, mPaint);