Android 多行纯文本背景
Posted
技术标签:
【中文标题】Android 多行纯文本背景【英文标题】:Android Multiline text-only background 【发布时间】:2021-12-13 21:48:00 【问题描述】:我想在我的 android 项目中实现这样的文本视图:
文字可以是多行并有背景,但背景只能覆盖文字,不能覆盖剩余的空白区域。
我怎样才能做到这一点?
【问题讨论】:
【参考方案1】:看起来您的突出显示有圆角。如果您确实想要圆角,请查看 Drawing a rounded corner background on text,这是 Florina Muntenescu 的 Medium 帖子。
当您的示例填充该空间时,该解决方案在行之间留下了一些空间,但我认为您可以修改代码以填充它。
【讨论】:
谢谢,这篇文章似乎足够接近了 ?【参考方案2】:你可以使用BackgroundColorSpan
来设置TextView的起始索引到结束索引的背景颜色:
val textView = findViewById<TextView>(R.id.textView)
val spannable = SpannableString(textView.text.toString())
spannable.setSpan(
BackgroundColorSpan(Color.parseColor("#C8ECFD")),
0,
spannable.length,
Spannable.SPAN_EXCLUSIVE_EXCLUSIVE
)
textView.text = spannable
【讨论】:
这是否可以灵活地支持圆角和填充? @Mousa 不,没那么容易,你需要使用画布自定义以上是关于Android 多行纯文本背景的主要内容,如果未能解决你的问题,请参考以下文章
Android 并在 TableRow 的 TextView 中显示多行文本