
我想在这里做的一件事是能够突出显示文本.现在我尝试使用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调整高度或添加填充所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)