Android String.xml 设置加粗字体/修改字体颜色/动态设置修改文案

之前经常使用Spannable

这次主要在String.xml使用:<![CDATA[和]]>

效果:

html 复制代码
<resources>
    <string name="str_bianse"><![CDATA[变色 <font color="#ff0000">曲项向天歌</font> 白毛浮绿水]]></string>
    <string name="str_jiacu"><![CDATA[加粗1 <b>曲项向天歌</b> 白毛浮绿水]]></string>
    <string name="str_huanhang"><![CDATA[变色、换行 <font color="#ff0000">曲项向天歌</font><br> 白毛浮绿水]]></string>
    <string name="str_xieti"><![CDATA[斜体 <i><font>曲项向天歌</font></i> 白毛浮绿水]]></string>
    <string name="str_xiahuaxian"><![CDATA[下划线 <u>曲项向天歌</u> 白毛浮绿水]]></string>
    <string name="str_xiahuaxian_bianse"><![CDATA[下划线、变色 <u><font color="#ff0000">曲项向天歌</font></u> 白毛浮绿水]]></string>
    <string name="str_zhonghuaxian"><![CDATA[中划线 <s>曲项向天歌</s> 白毛浮绿水]]></string>
    <string name="str_jiacu2"><![CDATA[加粗2 <strong>曲项向天歌</strong> 白毛浮绿水]]></string>
    <string name="str_fangda"><![CDATA[放大 <big>曲项向天歌</big> 白毛浮绿水]]></string>
    <string name="str_souxiao"><![CDATA[缩小 <small>曲项向天歌</small> 白毛浮绿水]]></string>
    <!--    "<"改成HTML转义符&lt-->
    <string name="welcome_messages">Hello, %1$s! You have &lt;b>%2$d new messages&lt;/b></string>
    <!--    内容放在<![CDATA[和]]>里   %1$s 第一个要填充的字符串 %2$d 第二个要填充的int值-->
    <string name="welcome_messages2"><![CDATA[Hello, %1$s! You have <b>%2$d new messages</b>]]></string>
</resources>

类里:

java 复制代码
        TextView second_1_Tv = findViewById(R.id.second_1_Tv);
        second_1_Tv.setText(Html.fromHtml(getResources().getString(R.string.str_bianse)));
        TextView second_2_Tv = findViewById(R.id.second_2_Tv);
        second_2_Tv.setText(Html.fromHtml(getResources().getString(R.string.str_jiacu)));
        TextView second_3_Tv = findViewById(R.id.second_3_Tv);
        second_3_Tv.setText(Html.fromHtml(getResources().getString(R.string.str_huanhang)));
        TextView second_4_Tv = findViewById(R.id.second_4_Tv);
        second_4_Tv.setText(Html.fromHtml(getResources().getString(R.string.str_xieti)));
        TextView second_5_Tv = findViewById(R.id.second_5_Tv);
        second_5_Tv.setText(Html.fromHtml(getResources().getString(R.string.str_xiahuaxian)));
        TextView second_6_Tv = findViewById(R.id.second_6_Tv);
        second_6_Tv.setText(Html.fromHtml(getResources().getString(R.string.str_xiahuaxian_bianse)));
        TextView second_7_Tv = findViewById(R.id.second_7_Tv);
        second_7_Tv.setText(Html.fromHtml(getResources().getString(R.string.str_zhonghuaxian)));
        TextView second_8_Tv = findViewById(R.id.second_8_Tv);
        second_8_Tv.setText(Html.fromHtml(getResources().getString(R.string.str_jiacu2)));
        TextView second_9_Tv = findViewById(R.id.second_9_Tv);
        second_9_Tv.setText(Html.fromHtml(getResources().getString(R.string.str_fangda)));
        TextView second_10_Tv = findViewById(R.id.second_10_Tv);
        second_10_Tv.setText(Html.fromHtml(getResources().getString(R.string.str_souxiao)));

        TextView second_12_Tv = findViewById(R.id.second_12_Tv);
        String text = String.format(getResources().getString(R.string.welcome_messages), "大呲花", 666);
        second_12_Tv.setText(Html.fromHtml(text));

        TextView second_14_Tv = findViewById(R.id.second_14_Tv);
        Spanned spanned = Html.fromHtml(getResources().getString(R.string.welcome_messages2, "大呲花", 666));
        second_14_Tv.setText(spanned);
相关推荐
巧克力芋泥包3 小时前
前端使用阿里云图形验证码;并且与安卓进行交互
android·前端·阿里云
Just_Paranoid6 小时前
【MQTT】基于 Android 设备接入物联网平台最佳实践
android·mqtt·eclipse·iot·paho·mqtt.fx
alexhilton9 小时前
深入理解withContext和launch的真正区别
android·kotlin·android jetpack
TDengine (老段)12 小时前
TDengine 转换函数 TO_JSON 用户手册
android·大数据·数据库·json·时序数据库·tdengine·涛思数据
q***428213 小时前
SpringCloudGateWay
android·前端·后端
卫生纸不够用13 小时前
Appium-锁屏-Android
android·appium
阿拉斯攀登13 小时前
安卓工控机 OTA 升级方案(SpringBoot+MQTT)
android·spring boot·物联网·iot
顾林海14 小时前
从0到1搭建Android网络框架:别再让你的请求在"路上迷路"了
android·面试·架构
花花鱼14 小时前
android room中实体类变化以后如何迁移
android
Jomurphys15 小时前
设计模式 - 适配器模式 Adapter Pattern
android