美文网首页Android开发开发笔记
Android String(text) 不同颜色、不同样式的实

Android String(text) 不同颜色、不同样式的实

作者: Android小马哥 | 来源:发表于2018-06-15 15:44 被阅读13次

问题描述

在安卓开发中,有时候需要一个Textview展示不同的颜色,可能是为了醒目,或者一些其他的原因。之前在开发的时候写过,这次在项目中再次遇到。记录一下。以防下次再遇到的时候还要再去搜。

解决方案

一、

使用SpannableStringBuilder 、SpannableString,具体api可以搜索查看。该方法是通过设置字符串下标的方式,比如(0,5)则是字符串的0到5显示为某种样式。此方法有个局限性,就是在国际化的APP中,因为不同语言的字符串长度是不同的。没法设置固定的下标。所以在这种情况下使用方法二。

二、

通过Html.formHtml的方式

TextView tv=findviewbyId();
String text="<font color='#999999'><b>" + "--" + "</b></font>"; //粗体效果<b>
tv.setText(Html.fromHtml(text));

String text="<font color='#999999'>" + "--" + "</font>"; //不加粗

包括一些粗体效果,字体的大小都是可以设置的。
然后如果把这些代码写在代码里,看起来会很乱。可以通过占位符的方式,将其写在string文件.通过ALT+回车的万能提示。可以看到String.format()方法。就是了。

设置不同字体样式

一般来说app一般给个粗体之类的足够了。但是有的ui会给特定的字体文件。我们可以将其放在res/font目录下。使用的时候通过。fontfamily@font即可。

相关文章

网友评论

    本文标题:Android String(text) 不同颜色、不同样式的实

    本文链接:https://www.haomeiwen.com/subject/flrmeftx.html