有没有办法在strings.xml中存储带标记的String?

时间:2012-04-29 18:38:22

标签: android html textview

我需要使用简单的标记<b> <i>等呈现一些文本,看起来this应该可以显示它,但我想知道是否可以存储字符串* Strings.xml中的标记,或者我必须将此字符串保存在我的Java文件中。

4 个答案:

答案 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的粉丝?