【发布时间】:2019-05-16 11:35:51
【问题描述】:
上面是我想要使用 String.xml 实现的图像
三样东西
- '76' & '20' 将使用 String.format 动态替换
- '20' 应该是粗体
- '20' 应该更大
我已经尝试了所有使用 Html.fromHtml 类的解决方案。
以下是我尝试过的解决方案。我可以将“20”加粗,但无法将“20”变大。
以下是我尝试过的 String.xml 的不同变体
<string name="points_data">Use %1$d points= <font size="30">₹ %2$d</font> in payment</string>
<string name="points_data">Use %1$d points= <font size="14"><b>₹ %2$d</b></font> in payment</string>
<string name="points_data">Use %1$d points= <font size="14"><b>₹ %2$d</b></font> in payment</string>
<string name="points_data"><![CDATA[Use %1$d points= <font size="60"><b>₹ %2$d</b></font> in payment]]></string>
<string name="points_data">Use %1$d points= <b><span style="fontSize='50'">₹ %2$d</span></b> in payment</string>
以下是我用来解析上述字符串的方法
val formattedText = String.format(getString(R.string.points_data), 76, 20)
textViewPoints.text = HtmlCompat.fromHtml(formattedText, HtmlCompat.FROM_HTML_MODE_LEGACY)
我在谷歌搜索解决方案时遇到了以下链接,但它们都不适用于我的情况。
- https://developer.android.com/guide/topics/resources/string-resource
- Set TextView style (bold or italic)
- Html.fromHtml deprecated in Android N
我已经尝试了我能想到的所有可能的解决方案,但没有一个有效。我不知道我缺少什么来实现。如果有人知道如何实现此场景或知道实现此目的的方法,请提供一些相关指导。
【问题讨论】:
标签: android string textview string.xml textstyle