我需要用简单的标记<b> <i>
等渲染一些文本,看起来这应该可以显示它,但我想知道是否可以将字符串 * 与标记一起存储在 Strings.xml 中,或者我是否必须只需将此字符串保存在我的 Java 文件中即可。
问问题
2081 次
4 回答
5
步骤#1:有一个strings.xml
文件,如:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="welcome">Welcome to <b>Android</b>!</string>
</resources>
您会注意到这是来自Jason Robinson 链接到的文档。
第 2 步:没有第 2 步可以从布局、清单等中使用它作为@string/welcome
. 你已经完成了。
步骤 #2b:如果您在 Java 中需要此值,请使用getText()
而不是getString()
.
于 2012-04-29T23:07:37.570 回答
4
您可以将字符串包装在
<![CDATA[ ...html... ]]>
尝试这样的事情
<string name="html">
<![CDATA[
<p>paragraph</p>
<b>bold stuff</b>
]]>
</string>
于 2012-04-29T18:40:39.533 回答
2
请参阅此链接:格式化和样式,特别是“使用 HTML 标记进行样式设置”小节。
通过 获取文本后,使用该方法Html.FromHtml()
将文本设置为 a ,传入第二个参数。TextView
setText(CharSequence text, TextView.BufferType type)
TextView.BufferType.SPANNABLE
于 2012-04-29T18:42:12.807 回答
0
用 html 标签标记您的字符串,例如:
<big>Welcome to <b>Android</b></big>! <small>Enjoy marking up your text</small>
...
然后在文本视图中将其设置为可跨文本,如下所示:
Spanned spannedText = Html.fromHtml(yourMarkedUpString);
yourTextView.setText(spannedText, TextView.BufferType.SPANNABLE);
无论您的字符串文本是在常量字面量、变量还是string.xml
资源文件中,以下标签都是开箱即用的:
<p>
<div> handled exactly like <p>
<br>
<b>
<i>
<strong> (bug on some Android versions: generates italic)
<em> (bug on some Android versions: generates bold)
<u>
<tt>
<dfn>
<sub>
<sup>
<blockquote>
<cite>
<big>
<small>
<font size="..." color="..." face="..."> (buggy font size sometimes gets ignored)
<h1>, <h2>, <h3>, <h4>, <h5>, <h6>
<a href="...">
<img src="...">
想要更多的标签,比如<center>
and <strike>
?
- 考虑使用库。
或者,也许你是一个完整的文档迷?
于 2019-07-24T06:48:21.633 回答