我在撰写中使用
TextField
或 BasicTextField
并使用以下方法在文本上设置删除线跨度:
SpanStyle(textDecoration = TextDecoration.LineThrough)
它按预期在文本上呈现删除线。但是,当我将光标放在它上面时,删除线消失了,文字被加了下划线。下划线是我认为每当光标放在文本上时的默认行为,所以我认为这很好。
但是当光标位于文本上时,我如何获得删除线以显示?
这不会发生在基于视图的
EditText
或 AppCompatEditText
.
尝试为 editText 设置绘画标志
editText.paintFlags = Paint.STRIKE_THRU_TEXT_FLAG
删除设置
editText.paintFlags = Paint.CURSOR_AFTER
你可以尝试这样的事情,
SpanStyle(textDecoration = TextDecoration.LineThrough,
underline = TextDecoration(
color = Color.Red,
thickness = 1.dp,
width = TextDecoration.Width.Intrinsic
)
)
当光标放在文本上时,这将应用一条粗细为 1dp 的红色下划线。您可以调整值以适合您想要的样式。
或者,您也可以通过将下划线设置为 TextDecoration.None 来完全禁用下划线。
scs
SpanStyle(textDecoration = TextDecoration.LineThrough,
underline = TextDecoration.None
)
这将防止当光标放在文本上时出现任何下划线。