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);
相关推荐
王泰虎13 分钟前
安卓开发日记,因为JCenter 关闭导致加载不了三方库应该怎么办
android
2601_949543014 小时前
Flutter for OpenHarmony垃圾分类指南App实战:主题配置实现
android·flutter
2601_949833395 小时前
flutter_for_openharmony口腔护理app实战+知识实现
android·javascript·flutter
晚霞的不甘5 小时前
Flutter for OpenHarmony从基础到专业:深度解析新版番茄钟的倒计时优化
android·flutter·ui·正则表达式·前端框架·鸿蒙
鸟儿不吃草5 小时前
android的Retrofit请求https://192.168.43.73:8080/报错:Handshake failed
android·retrofit
Minilinux20185 小时前
Android音频系列(09)-AudioPolicyManager代码解析
android·音视频·apm·audiopolicy·音频策略
李子红了时6 小时前
【无标题】
android
Android系统攻城狮7 小时前
Android tinyalsa深度解析之pcm_close调用流程与实战(一百零四)
android·pcm·tinyalsa·音频进阶·音频性能实战·android hal
weixin_411191847 小时前
LifecycleEventObserver和DefaultLifecycleObserver使用
android
、BeYourself8 小时前
Intent :跳转与数据传递的正确打开方式
android·android-studio