小编ale*_*ter的帖子

如何在 Jetpack Compose 中为文本添加点线/虚线下划线?

我正在尝试获取自定义 TextDecoration - DashUnderline。现有的答案仅适用于一行,我需要为每一行文本添加虚线。

在此输入图像描述

对于 TextView 我有一个类,但我不知道如何将其转换为 Compose。

class DashedUnderlineSpan(
    textView: TextView, color: Int, thickness: Float, dashPath: Float,
    offsetY: Float, spacingExtra: Float
) :
    LineBackgroundSpan, LineHeightSpan {
    private val paint: Paint
    private val textView: TextView
    private val offsetY: Float
    private val spacingExtra: Float
    override fun chooseHeight(
        text: CharSequence, start: Int, end: Int, spanstartv: Int, v: Int,
        fm: Paint.FontMetricsInt
    ) {
        fm.ascent -= spacingExtra.toInt()
        fm.top -= spacingExtra.toInt()
        fm.descent += spacingExtra.toInt()
        fm.bottom += spacingExtra.toInt()
    }

    override fun drawBackground(
        canvas: Canvas, p: Paint, …
Run Code Online (Sandbox Code Playgroud)

android android-jetpack-compose android-jetpack-compose-text

2
推荐指数
1
解决办法
4148
查看次数