【问题标题】:How to make XML strings bold, underlined etc?如何使 XML 字符串加粗、加下划线等?
【发布时间】:2013-07-20 22:08:56
【问题描述】:

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

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

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

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

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

我知道如何在文本视图中执行此操作,但这不是我想要的...

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

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

【问题讨论】:

  • 字符串的一部分应该有一个属性,比如粗体或下划线或更大的大小......只是字符串的一部分而不是整个字符串。

标签: android xml markup pretty-print


【解决方案1】:

这对我有用。

<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

【讨论】:

    【解决方案2】:

    这个问题已经让我发疯了好几年了。这很简单,您只希望它工作!!!

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

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

    【讨论】:

    • 请记住,如果您使用 getText,您将无法使用占位符,例如 %s 和 %d
    【解决方案3】:

    尝试将标记的文本包含在 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))
    

    【讨论】:

      【解决方案4】:

      在尺寸文件中写入:

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

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

      android:@dimen/ size_edittext
      

      【讨论】:

      • 这不是有用的答案。删除此帖子。
      【解决方案5】:

      示例:

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

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

      【讨论】:

      • 这在你的 res/values/strings.XML 中确实有效,我已经做了一千次了。它不同于 HTML 标签。
      • 你必须使用 getText(string id) 而不是 getString
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-08-30
      • 2023-04-04
      • 2017-05-09
      • 2011-11-17
      • 2014-01-23
      • 2019-03-19
      • 2015-06-07
      相关资源
      最近更新 更多