如何在 Jetpack Compose 中的路径上绘制文本?
How can I draw text on a path in Jetpack Compose?
现在可以使用 Jetpack Compose 在自定义路径上写入文本吗?
这是我想要实现的示例图片:
我们使用 nativeCanvas
在 Compose 中使用 Path
绘制文本,就像我们通常在自定义视图中所做的那样。
例如:
@Composable
fun ArcTextExample() {
val paint = Paint().asFrameworkPaint()
Canvas(modifier = Modifier.fillMaxSize()) {
paint.apply {
isAntiAlias = true
textSize = 24f
typeface = Typeface.create(Typeface.DEFAULT, Typeface.BOLD)
}
drawIntoCanvas {
val path = Path()
path.addArc(RectF(0f, 100f, 200f, 300f), 270f, 180f)
it.nativeCanvas.drawTextOnPath("Hello World Example", path, 0f, 0f, paint)
}
}
}
注意:
我们应该使用 android.graphics.Path
结果会是这样的:
现在可以使用 Jetpack Compose 在自定义路径上写入文本吗?
这是我想要实现的示例图片:
我们使用 nativeCanvas
在 Compose 中使用 Path
绘制文本,就像我们通常在自定义视图中所做的那样。
例如:
@Composable
fun ArcTextExample() {
val paint = Paint().asFrameworkPaint()
Canvas(modifier = Modifier.fillMaxSize()) {
paint.apply {
isAntiAlias = true
textSize = 24f
typeface = Typeface.create(Typeface.DEFAULT, Typeface.BOLD)
}
drawIntoCanvas {
val path = Path()
path.addArc(RectF(0f, 100f, 200f, 300f), 270f, 180f)
it.nativeCanvas.drawTextOnPath("Hello World Example", path, 0f, 0f, paint)
}
}
}
注意:
我们应该使用 android.graphics.Path
结果会是这样的: