Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/194.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何在Jetpack Compose中的路径上绘制文本?_Android_Android Jetpack Compose - Fatal编程技术网

Android 如何在Jetpack Compose中的路径上绘制文本?

Android 如何在Jetpack Compose中的路径上绘制文本?,android,android-jetpack-compose,Android,Android Jetpack Compose,现在有没有办法使用jetpack compose在自定义路径上写入文本? 下面是我想要实现的一个示例图像: 我们使用nativeCanvas在Compose中使用Path绘制文本,就像我们通常在自定义视图中所做的那样 例: 注: 我们应该使用android.graphics.Path 结果是: 感谢您的解决方案!这肯定对我有很大帮助。我对一个没有android.graphics的解决方案感兴趣,这个解决方案只有jetpack compose。你知道这是否可以用jetpack compose来完成

现在有没有办法使用jetpack compose在自定义路径上写入文本?

下面是我想要实现的一个示例图像:


我们使用
nativeCanvas
在Compose中使用
Path
绘制文本,就像我们通常在自定义视图中所做的那样

例:

注: 我们应该使用
android.graphics.Path

结果是:


感谢您的解决方案!这肯定对我有很大帮助。我对一个没有android.graphics的解决方案感兴趣,这个解决方案只有jetpack compose。你知道这是否可以用jetpack compose来完成吗?@fraherm,据我所知,在
DrawScope
中没有绘制文本的方法。
@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)
        }
    }
}