【问题标题】:How do I insert special characters as text in XML editor for Android?如何在 Android 的 XML 编辑器中插入特殊字符作为文本?
【发布时间】:2012-01-26 16:26:56
【问题描述】:

所以,我正在编写一个涉及使用一些数学符号的应用程序。我在可视化 XML 编辑器中执行此操作。有什么办法可以得到一个整数符号或“小于或等于”符号?诸如此类。

谢谢!

【问题讨论】:

    标签: java android xml math symbols


    【解决方案1】:
    Use &lt; for <, &gt; for > and &amp; for &.
    

    <   less than   &lt;    
    >   greater than    &gt;    
    &   ampersand   &amp;   
    ¢   cent            &cent;  
    £   pound           &pound; 
    ¥   yen         &yen;   
    €   euro            &euro;  
    §   section         &sect;  
    ©   copyright   &copy;  
    ®   registered trademark    &reg;   
    ™   trademark   &trade;
    

    【讨论】:

    • 太棒了,谢谢 :) 有没有具体的名称,我可以通过 Google 找到数学符号列表?
    • 实际上,当我尝试将其添加到 strings.xml 文件时,它只是字面上的文本。有办法解决吗?
    • 这些是 HTML“字符代码”。因为例如&amp;lt;&gt;在HTML中有特殊的含义,所以为了写一个字面量&amp;lt;,改写&amp;lt;。我对 Android 上的 XML 不熟悉,但也许如果您在相关字符串周围放置 &lt;html&gt; 标签,那么它们将被正确替换。进一步注意,HTML 中没有 greater-than-or-equal-toless-than-or-equal-to 标记。但是,有希腊符号,例如大写 Sigma(求和)。只需搜索 "character code" html,它应该是第一个结果(如果存在)。
    • 我们可以为 = 使用什么?
    【解决方案2】:

    尝试将它们作为 HTML。

    String htmlStringWithMathSymbols = "&#8804;  &#8805;";
    
    textView.setText(Html.fromHtml(htmlStringWithMathSymbols));
    

    在这里你可以在 textView 中显示你的数学符号

    这里是http://www.hrupin.com/2011/12/how-to-put-some-special-math-symbols-in-textview-editview-or-other-android-ui-element的帖子

    希望对你有帮助!

    【讨论】:

    • 我已经弄清楚了,这就是我的做法。我没有像那样创建不同的字符串,而是说“mInverse.setText (Html.fromHtml ("α ° α -1 = &apsilon;"));"
    • 问题询问如何在 XML 编辑器中进行操作。
    【解决方案3】:

    要通过 XML 在 Android 中插入特殊的 unicode 字符(包括数学符号),您所要做的就是在 XML 中包含带有 &amp;#&lt;uni-code&gt;; 的 unicode 字符的 HTML 代码。例如,如果您想在与您的活动相对应的 XML 文件(例如 main.xml)的按钮视图中显示数学符号“Pi”,您将在 main.xml 中包含以下内容:

    <Button
        ...
        android:text="@string/button_pi"
        ...
    </Button>
    

    然后您将在 strings.xml 文件中识别上面包含的字符串资源 'button_pi',如下所述

    <string name="button_pi"> &#928;</string>
    

    现在,当您构建和运行代码时,您会看到 pi 的符号很好地显示在您的视图中。 下面的链接提供了所有 uni-code 字符集(包括所有特殊符号)的 HTML 代码的完整表

    http://www.w3schools.com/tags/ref_symbols.asp

    http://www.ascii.cl/htmlcodes.htm

    【讨论】:

      【解决方案4】:

      我曾经不得不做类似的事情,将外语字符放入 XML 文件中。最好的,据我所知,唯一的方法是将要显示的文本放在 strings.xml 文件中,并在 XML 中以@string/your_text_declaration_here 引用它们。将所有文本放在 string.xml 文件中通常也是一个好习惯,无论是否有特殊字符。

      【讨论】:

      • 太棒了,谢谢。所以,我找到了数学符号的 unicode 数字列表(这里:unicode.org/charts/PDF/U2200.pdf)。我能以某种方式使用这些来获得它吗?
      • 我不能 100% 确定 Android 字体集中支持所有这些符号,但您可以尝试一下。由于 PDF 中的符号实际上不是文本字符,因此您必须找到实际的文本字符本身,然后将其复制并粘贴到您的字符串资源中。
      • 我尝试添加类似 <进入strings.xml,但它们只是作为文本“<”出现哈哈。有办法解决吗?我试过用引号输入它,但认为这没有帮助。
      • 尝试使用文字字符而不是代码或替代标识符;而不是“&lt”使用“
      【解决方案5】:

      以下任何&amp;int; &amp;Integral; &amp;#x0222B; &amp;#8747; 都会产生一个整数符号:∫

      &Int;可以用&amp;Int; &amp;#x0222C;实现 &着色;可以用&amp;tint;实现 &conint;可以通过&amp;conint;实现

      【讨论】:

      • 实际上在 Android Studio 中给出了 'Unresolved Entity Reference int' 'Unresolved Entity Reference Integral'。
      【解决方案6】:

      有一个商业产品用于将 XML 文本元素中的数学/源代码特殊符号转换为有效的 XML,所有类和起始源代码都集成到应用程序中,允许您在文本元素中保留特殊字符(称为 XPL文件而不是 XML),并在处理过程中转换为有效的 XML。

      您可以从命令行使用免费版本,该版本还可以确保您的文件类型符合指定(例如 ISO-8859-1,如果您使用 å、ä、ö 等字符。sc latin- 1个字符集)。

      Code from the High Level Logic Project

      【讨论】:

        【解决方案7】:
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="\u23F0"/>
        

        将导致显示时钟

        或在 Kotlin 中:

        myTextView.text = "\u23F0"
        

        【讨论】:

          猜你喜欢
          • 2013-04-16
          • 2016-01-21
          • 1970-01-01
          • 1970-01-01
          • 2020-02-04
          • 2018-03-31
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多