尝试添加更多的线条。您使用的 fill
参数是用来用渐变填充图形的。由于终点设置为了无限远,所以渐变并没有生效。请设置 endX
参数,这样就可以看到蓝色了。
val vector = ImageVector.Builder(
defaultWidth = 100.dp,
defaultHeight = 100.dp,
viewportWidth = 10f,
viewportHeight = 10f,
tintBlendMode = BlendMode.SrcOver
).path(fill = Brush.horizontalGradient(listOf(Color.Green, Color.Blue), endX = 8f)) {
moveTo(0f, 0f)
lineTo(0f, 8f)
lineTo(8f, 8f)
lineTo(8f, 0f)
lineTo(0f, 0f)
}.build()
val painter = rememberVectorPainter(image = vector)
Canvas(modifier = Modifier.fillMaxSize()) {
with(painter) {
draw(painter.intrinsicSize)
}
}
如果想要绘制带有纯色边框的线段,你应该像下面这样使用 SolidColor
:
path(stroke = SolidColor(Color.Black)) {
moveTo(0f, 0f)
lineTo(0f, 6f)
lineTo(6f, 6f)
lineTo(6f, 0f)
lineTo(0f, 0f)
}