格式化xml资源文件中的字符串

时间:2014-04-01 02:40:51

标签: android android-resources

我想显示帮助对话框,其中有一个textview,它从String.xml文件加载内容。我没有把它作为一个无聊的段落,而是想为String.xml添加一些格式。例如着色一些句子,粗体..等等。有没有办法在字符串中的xml文件中执行此操作?

我的xml看起来像那样

 <string name="help_summary">Clicking on button (Summary) will result in ((report))</string>

所以我希望(摘要)为红色,((报告))为粗体。

我怎样才能做到这一点?

2 个答案:

答案 0 :(得分:0)

您可以使用Html。在textview中加载字符串时使用:

yourTextView.setText(Html.fromHtml(context.getResources().getString(R.string.help_summary)));

并在字符串中使用html,例如:

<string name="help_summary"><![CDATA[Clicking on button <span style="color:red">Summary</span> will result in <b>report</b>]]></string>

答案 1 :(得分:0)

有一些属性可以在字符串资源中使用,而无需在您的Java代码中实现HTML或改变它们。没有必要,您可以在strings.xml中完成您似乎需要的大部分内容 例如:

<string name ="my_string"><i>italics</i><b>bold</b><u>underline</u><font fgcolor="#FFFFFFFF">color</font><small>small text</small></string>

我相信还有一个<large/><big/>标签,还有一些标签。

修改,新行也有\n。只需将其包含在字符串中就像这样:

<string name="paragraph">Text is one first line \n now text is on next line. \n\n  this will appear as an indented paragraph now.</string>

希望这有帮助,快乐编码!