1

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

4

4 回答 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 ,传入第二个参数。TextViewsetText(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 回答