Android Html.fromHtml("")的使用

记录一下项目中使用Html.fromHtml(r2)时颜色无效的问题

问题:Html.fromHtml("这里有美女哦!");美女没有变红

度了一下,问题中的标红文本样式是CSS样式,而Android系统自带的Html.fromHtml();支持的样式是有限的,所以,显然是不支持CSS样式的!

接着度解决方案,度了一下午,愣是没找到现成可用的轮子,难道要自己写一个?首先,我比较菜,其次,时间它也不允许啊,那只能替换了,但是替换有一个问题,那就是要是不能完全匹配的话,那岂不是GG了,看了下后台给返回的所有的标红,都是问题中所述的那种,OK,直接替换~~~

当然,要是遇到标注不固定的情况(比如上面是标注的颜色,要是里边加了字体大小等等的),通过通配符应该是可以解决的,我没有试,有兴趣的或者有需求的可以试试看

我的解决方案,代码如下:

HtmlUtil.setCssStr(tvTitle, b.Title);
/**
 * Des:
 * Created by kele on 2020/9/27.
 * E-mail:[email protected]
 */
public class HtmlUtil {

    public static String getCssStr(String str) {
        String r1 = str.replace("", "");
        String r2 = r1.replace("", "");
        return r2;
    }

    public static void setCssStr(TextView tv, String str) {
        String r2 = getCssStr(str);
        if (TextUtils.isEmpty(r2)) {
            tv.setText(str);
        } else {
            tv.setText(Html.fromHtml(r2));
        }
    }
}

你可能感兴趣的:(Android Html.fromHtml("")的使用)