Dan*_*ail 18 resources android
例如:
我在资源中有一个字符串:
<string name="smth"><small>hey girls</small></string>
当我在xml资源文件中使用它时(例如在某些文本视图中),
android:text="@string/smth"
没问题.它考虑了"小"标签.它使字符串更小.但是当我想像这样使用它时:
String smth = getString(R.string.smth);
someTextView.setText(Html.fromHtml(不便));
字符串没有任何标签!
任何帮助赞赏.担
Dhe*_*.S. 38
将HTML标记与转义实体一起使用.
您的问题直接在官方文档中解答!
有时您可能希望创建一个样式化的文本资源,该资源也用作格式字符串.通常,这不起作用,因为该
String.format(String, Object...)方法将从字符串中删除所有样式信息.解决这个问题的方法是使用转义实体编写HTML标记,然后fromHtml(String)在格式化后进行恢复 .例如:
将样式化文本资源存储为HTML转义字符串:
<resources>
<string name="welcome_messages">Hello, %1$s! You have <b>%2$d new messages</b>.</string>
</resources>
Run Code Online (Sandbox Code Playgroud)
在此格式化字符串中,<b>添加了一个元素.请注意,使用<表示法对左括号进行HTML转义.然后像往常一样格式化字符串,但也调用fromHtml(String)将HTML文本转换为样式文本:
Resources res = getResources();
String text = String.format(res.getString(R.string.welcome_messages), username, mailCount);
CharSequence styledText = Html.fromHtml(text);
Run Code Online (Sandbox Code Playgroud)
Man*_*oba 11
为什么不尝试用相应的unicode字符替换'<','>'和'\'?
问候.
有时只有unicode字符或 <![CDATA[ your HTML ]]>帮助,但没有引用Rajkiran建议.另请参阅如何使Resources.getStringArray在Android中使用HTML标记
如果您不希望通过 getString() 删除 html 标签。您必须在字符串中添加和 [![CDATA]] 标记,例如:
<string name="get_string_with_Html_tags"><Data><![CDATA[ This is an example.
<br><br>
<font color=\'black\'>black text:
</font>
<br><br>
<font color=\'red\'>red text</font>
<br></br> ]]> </Data></string>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9703 次 |
| 最近记录: |