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);
相关推荐
AD钙奶-lalala2 小时前
Android Studio新建项目默认不使用Compose模版
android·ide·android studio
故渊at4 小时前
第一板块:Android 系统基石与运行原理 | 第二篇:Android 编译、打包与安装机制
android·系统架构·apk·打包·application·dalvik·android编译
故渊at5 小时前
第一板块:Android 系统基石与运行原理 | 第三篇:ART 与 Dalvik 运行时环境原理
android·对象模型·内存布局·运行原理·art·dalvik
私人珍藏库6 小时前
【Android】Wallcraft 3.62.0-最强4 K壁纸软件-解锁高级版
android·智能手机·app·工具·软件·多功能
GesLuck6 小时前
Node-RED企业微信发送—群文件
android·java·企业微信
whatever who cares6 小时前
android中fragment demo举例
android·java·开发语言
zhangphil6 小时前
Android将ImageView显示的图原样取出转换为Bitmap,Kotlin
android·kotlin
plainGeekDev6 小时前
CountDownTimer → Flow
android·java·kotlin
仙俊红7 小时前
如何优化 MySQL 深分页 SQL
android·sql·mysql
awu的Android笔记7 小时前
网络闪断 + DNS 故障:Android弱网模拟中最容易被忽视的两个场景
android·tcp/ip