【问题标题】:Android button text and HTML Superscript and SubscriptAndroid 按钮文本和 HTML 上标和下标
【发布时间】:2014-06-30 14:12:18
【问题描述】:

我正在尝试将上标和下标文本插入到 android 按钮文本中。 我尝试在 strings.xml 文件中提供以下内容

<string name="NAME"><![CDATA[<sup><small>-1</small></sup>]]></string>

在 MainActivity.java 文件中,

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    if (savedInstanceState == null) {
        getSupportFragmentManager().beginTransaction()
                .add(R.id.container, new PlaceholderFragment()).commit();
    }

    Button NAME = (Button) findViewById(R.id.button10);
    NAME.setText(Html.fromHtml(getResources().getString(R.string.NAME)));
}

但我无法成功。

查询:

  • 有什么方法可以在“strings.xml”文件本身中指定它而不在代码中使用 setText 吗?

【问题讨论】:

  • 使用 R.string.NAME 代替 R.string.iHyperbolic
  • 你的调用 R.string.iHyperbolic 请清除字符串名称

标签: java android html xml


【解决方案1】:

问题: 您获取的值错误。

解决方案: 使用R.string.NAME 而不是R.string.iHyperbolic

您的 NAME 带有 html 字符串,而不是 iHyperbolic

有没有办法在“strings.xml”文件本身中指定它而不 在代码中使用 setText 吗?

AFAIK,在 Html 类处理后,您必须使用 setText() 设置 html 字符串。原因 Html 类将 HTML 字符串处理为可显示的样式文本。如果您希望在小部件上显示此 Html 样式文本,则必须使用 setText()。

【讨论】:

    【解决方案2】:

    而不是写:

    <sup><small>-1</small></sup>
    

    尝试写作:

    <sup>-1</sup>
    

    希望有帮助:)

    【讨论】:

    • 你能告诉我这会有什么不同吗?原因 AFAIK, 会将小字体应用于上标或下标。
    • @RiteshGune,它可以有所作为,因为sup 可能会对其内容应用字体大小缩小,如果它已经因small 而缩小,你会得到双重缩小。
    • @JukkaK.Korpela,就其在 android 中的使用而言,我没有看到 自行减小字体大小。它只是定位文本。如果你能提供的话,我很乐意查看任何支持你陈述的文档:)
    • 我将其更改为仅使用“sup”标签。但是当我启动应用程序时,它会退出并显示“不幸的是我的应用程序已关闭”错误消息。
    • @RiteshGune,对不起,我的评论太仓促了。正在考虑 HTML。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-05-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-12
    • 2023-04-04
    • 1970-01-01
    相关资源
    最近更新 更多