Android Html设置TextView的颜色、加粗样式

01、概述

在开发需求中,会遇到字符串中的某个部分变色,加粗的需求。当然可是使用SpannableString 来实现,这里记录一下通过Html方式来实现这种效果

02、代码

        textView.setText(Html.fromHtml(this.getString(R.string.ceshi, "01.01",  "26")));
        textView1.setText(Html.fromHtml(this.getString(R.string.ceshi1, "01.01",  "26")));
        textView2.setText(Html.fromHtml(this.getString(R.string.ceshi2, "不加粗")));

03、资源

 <!-- 不用转义 -->
    <string name="ceshi">不转义:生日(加粗)= <![CDATA[<font color="#ff0000"><big><b>%1$s</b></big></font> 年龄(不加粗)= <font color="#00ff00">%2$s</font>]]></string>
    <!-- 转义 -->
    <string name="ceshi1">—转义:生日(加粗)= <font color="#ff0000"><big><b>%1$s</b></big></font> 年龄(不加粗)= <font color="#0000ff">%2$s</font></string>
    <!-- 不加粗 -->
    <string name="ceshi2">不加粗:<font color="#0000ff">%1$s</font></string>

04、补充:用String 格式化

 代码:

        textView3.setText(String.format(getString(R.string.ceshi3), 9));
        textView4.setText(String.format(getString(R.string.ceshi4), "张三"));
资源:
    <!-- int 类型数字变化 -->
    <string name="ceshi3">消息个数(%1$d)</string>
    <!-- String 类型 -->
    <string name="ceshi4">你的名字:%1$s</string>

05、补充:用String 格式化 Html 的转义符号

这里记录几个字符,有其他特殊需求,可以参考Html 手册 http://www.w3school.com.cn/tags/html_ref_symbols.html

代码:

        textView5.setText(String.format(getString(R.string.ceshi5), 22));
        textView6.setText(String.format(getString(R.string.ceshi6)));
        textView7.setText(String.format(getString(R.string.ceshi7)));
资源:
    <!-- 空格 \u2000 -->
    <string name="ceshi5">年龄\u2000%1$d岁</string>
    <!-- 省略号... \u2026 -->
    <string name="ceshi6">加载中\u2026</string>
    <!-- 横杠- & #8211; -->
    <string name="ceshi7">数字6& #8211;20范围</string>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值