我需要使用简单的标记<b> <i>
等呈现一些文本,看起来this应该可以显示它,但我想知道是否可以存储字符串* Strings.xml中的标记,或者我必须将此字符串保存在我的Java文件中。
答案 0 :(得分:5)
步骤1:拥有strings.xml
文件,如:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="welcome">Welcome to <b>Android</b>!</string>
</resources>
您会注意到这是the documentation that Jason Robinson linked to。
步骤2:没有步骤#2将布局,清单等用作@string/welcome
。你已经完成了。
步骤#2b:如果您在Java中需要此值,请使用getText()
代替getString()
。
答案 1 :(得分:4)
您可以将字符串包装在
中<![CDATA[ ...html... ]]>
尝试这样的事情
<string name="html">
<![CDATA[
<p>paragraph</p>
<b>bold stuff</b>
]]>
</string>
答案 2 :(得分:2)
请参阅此链接:Formatting and Styling,尤其是“带HTML标记的样式”小节。
通过Html.FromHtml()
获取文字后,使用setText(CharSequence text, TextView.BufferType type)
方法将文字设置为TextView
,并为第二个参数传递TextView.BufferType.SPANNABLE
。
答案 3 :(得分:0)
用html标签标记您的字符串,例如:
virtual
然后在文本视图中将其设置为可扩展文本,如下所示:
<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>
之类的标签?
或者您也许是full doc的粉丝?