在自定义视图中绘制描边形状

Posted

技术标签:

【中文标题】在自定义视图中绘制描边形状【英文标题】:Drawing a stroked shape in a custom view 【发布时间】:2019-02-27 08:06:37 【问题描述】:

我正在尝试在自定义视图中绘制此自定义形状。我必须对这个形状进行描边和填充。

现在我用 2 个形状制作了这个,但我当然没有抚摸过:

    rect.set(0, 0, width, height);
    canvas.drawRoundRect(rect, cornerRadius, cornerRadius, paint);
    path.moveTo(x, y);
    ...
    path.close();
    canvas.drawPath(path, paint);

如何使用 Path 画出完整的形状,是真的吗?

【问题讨论】:

【参考方案1】:

为了描边你的路径,你应该在你用于路径的油漆上设置描边:

val paint = Paint()
paint.style = Paint.Style.STROKE
paint.strokeWidth = BASE_STROKE_WIDTH
paint.isAntiAlias = true
paint.color = ContextCompat.getColor(context, R.color.your_color)

companion object 
  const val BASE_STROKE_WIDTH = 20.0f

【讨论】:

以上是关于在自定义视图中绘制描边形状的主要内容,如果未能解决你的问题,请参考以下文章

在自定义绘制的视图中动画大小变化的问题

如何在 UIScrollView 中绘制自定义形状

调整自定义视图的报告大小以包括绘制的图形

如何通过在自定义视图中按下按钮从超级视图中删除自定义视图?

自定义视图缩小:之前占用的空间没有被清除

iOS:在自定义视图中添加新约束依赖于视图的框架