15

http://docs.fusioncharts.com/charts/contents/Styles/Font.html

我尝试了这个,以及很多东西,但没有这样做。这就是我想要的。

<string name="ss">Bold. Underlined. Italic. Big. Small</string>

我想格式化一点字符串。在写粗体的地方,我希望它是粗体的……对其他人也是如此。

我尝试了很多标签......但没有任何效果,我在 Google 或 SO 上找不到任何东西。

我知道如何在文本视图中做到这一点,但这不是我想要的......

我正在向显示它的活动发送一些文本资源...如果我使用不同的文本视图进行操作,我必须创建其中的几个,每当我想要粗体文本时创建一个新的,这不是很优雅.

有没有办法在 XML 文件中简单地做到这一点?或其他方式?

4

5 回答 5

20

尝试将标记的文本包装在 CDATA 标记中。例如:

<string name="ss"><![CDATA[<b>Bold.</b> <u>Underlined.</u> <i>Italic.</i> <big>Big.</big> <small>Small</small>]]></string>

然后在要显示它的任何地方使用 Html.fromHtml :

Html.fromHtml(getString(R.string.ss))
于 2014-01-26T00:23:41.410 回答
6

这个问题多年来一直让我发疯。这很简单,你只希望它工作!!!

无论如何,我在http://www.coderzheaven.com/2011/06/19/styling-text-in-android-through-xml/找到了答案

关键是将资源作为 CharSequence 加载,使用getResources().getText(R.string.xxxx)它将保留所有样式信息并允许您使用内联样式标签。我的错误是使用getString(),因为在加载资源getString()时会导致字符串丢失其所有样式信息。

于 2014-09-08T21:09:13.993 回答
3

例子:

<string name="ss"><font size="15"><b>Parrainage</b></font><u>subscribe</u></string>

b = 粗体 et u = 下划线 .....等

于 2013-07-23T13:28:40.177 回答
3

这对我有用。

<string name="welcome_messages">Hello, %1$s! You have &lt;b>%2$d new messages&lt;/b>.</string>

txt.setText(Html.fromHtml(getString(R.string.welcome_messages)));

更多详情查看官网: https ://developer.android.com/guide/topics/resources/string-resource.html#StylingWithSpannables

于 2018-04-08T06:36:42.017 回答
-7

在尺寸文件中写入:

<dimen name="size_edittext">180dp</dimen>

并在您的 xml 布局或活动中调用它:

android:@dimen/ size_edittext
于 2013-07-24T14:37:48.187 回答