【问题标题】:Subscript 5 in Android strings.xmlAndroid strings.xml 中的下标 5
【发布时间】:2015-12-17 02:44:25
【问题描述】:

下标 2 在以下所有情况下都能正确显示:

  • 直接粘贴utf-8字符

    <string name="subscript_two">₂</string>

  • 使用十六进制转义

    <string name="subscript_two">₂</string>

  • 使用小数转义

    <string name="subscript_two">₂</string>

但以下所有情况都将下标 5 显示为常规 5。

  • 直接粘贴utf-8字符

    <string name="subscript_five">₅</string>

  • 使用十六进制转义

    <string name="subscript_five">₅</string>

  • 使用小数转义

    <string name="subscript_five">₅</string>

那是怎么回事?

它在 Android Studio 的 Layout Preview(在 API 23 上)中正确呈现,但在我在 CM 11 上运行的测试设备上却没有呈现,CM 11 是 Kitkat 4.4.4 的一个分支。

现在我知道Html.fromHtml() hack 回答了here,但我希望有一种更简洁的方法可以在strings.xml 本身中实现它——因为下标2 工作得很好。

我需要它来将 P₂O₅ 放入 EditText 的提示和 TextView 中,顺便说一句。

【问题讨论】:

    标签: android xml unicode


    【解决方案1】:

    下标 1 到 4 是内置的。他们将永远工作。 但是要使用下标 5 到 9,您需要在字符串中使用 html 代码 <sub><small>5</small></sub> 获取5

    同样适用于上标 <sup><small>5</small></sup> 得到这个5

    【讨论】:

    • 谢谢,不知道只支持1到4。我试过<string name="subscript_5"><sub><small>5</small></sub></string>,但它不起作用。我认为如果我在Java中设置它会起作用。我希望在 strings.xml 本身中做到这一点。无论如何,非常感谢。 :) 暂时接受你的回答。希望他们在未来增加对更多 unicode 的支持。
    猜你喜欢
    • 1970-01-01
    • 2013-05-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-22
    • 2018-07-31
    • 1970-01-01
    相关资源
    最近更新 更多