android – BackgroundColorSpan调整高度或添加填充

android – BackgroundColorSpan调整高度或添加填充,第1张

概述我有一个应用程序,我在TextView中显示格式化文本的多行和多个段落.我正在使用SpannableStringBuilder来实现此目的. 我想在这里做的一件事是能够突出显示文本.现在我尝试使用BackgroundColorSpan,但在这种情况下,文本背景覆盖了完整的行高.我希望它只覆盖文本.似乎没有明显的方法在此跨度上设置垂直填充高度.只是颜色. 其次,我还尝试通过绘制此类的draw方法来 我有一个应用程序,我在TextVIEw中显示格式化文本的多行和多个段落.我正在使用SpannableStringBuilder来实现此目的.

我想在这里做的一件事是能够突出显示文本.现在我尝试使用BackgroundcolorSpan,但在这种情况下,文本背景覆盖了完整的行高.我希望它只覆盖文本.似乎没有明显的方法在此跨度上设置垂直填充或高度.只是颜色.

其次,我还尝试通过绘制此类的draw方法来继承ReplacementSpan并实现我自己的backgroundSpan.但这似乎不支持多线突出显示.

任何人都可以告诉我如何实现这一突出显示功能?基本上,我希望它像电子书阅读器一样工作,最好是Android上的Kindle或默认的Book阅读器.

解决方法 您可以实现lineBackgroundSpan并覆盖:

drawBackground(Canvas c,Paint p,int left,int right,int top,int baseline,int bottom,CharSequence text,int start,int end,int lnum)

您可以修改“顶部”和“底部”参数,以指定要为给定线绘制的背景的高度. “基线”参数是所有字符所在的线的y坐标(注意字母g,p,j等具有一些低于基线的部分).

此方法适用于给定文本的显示屏上的每一行.例如,如果文本

"this is an example,blah,blah .."

在显示器上跨越3行,然后应用drawBackground(…)三次,如果您只想更改跨度中某些行的高度,则可以使用“lnum”参数更改某些行的行为.

总结

以上是内存溢出为你收集整理的android – BackgroundColorSpan调整高度或添加填充全部内容,希望文章能够帮你解决android – BackgroundColorSpan调整高度或添加填充所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1125309.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-30
下一篇2022-05-30

发表评论

登录后才能评论

评论列表(0条)

    保存