如何在 Android 的 XML 编辑器中插入特殊字符作为文本?
Posted
技术标签:
【中文标题】如何在 Android 的 XML 编辑器中插入特殊字符作为文本?【英文标题】:How do I insert special characters as text in XML editor for Android? 【发布时间】:2012-01-26 16:26:56 【问题描述】:所以,我正在编写一个涉及使用一些数学符号的应用程序。我在可视化 XML 编辑器中执行此操作。有什么办法可以得到一个整数符号或“小于或等于”符号?诸如此类。
谢谢!
【问题讨论】:
【参考方案1】:Use < for <, > for > and & for &.
或
< less than <
> greater than >
& ampersand &
¢ cent ¢
£ pound £
¥ yen ¥
€ euro €
§ section §
© copyright ©
® registered trademark ®
™ trademark ™
【讨论】:
太棒了,谢谢 :) 有没有具体的名称,我可以通过 Google 找到数学符号列表? 实际上,当我尝试将其添加到 strings.xml 文件时,它只是字面上的文本。有办法解决吗? 这些是 html“字符代码”。因为例如&lt;
和>
在HTML中有特殊的含义,所以为了写一个字面量&lt;
,改写&lt;
。我对 android 上的 XML 不熟悉,但也许如果您在相关字符串周围放置 <html>
标签,那么它们将被正确替换。进一步注意,HTML 中没有 greater-than-or-equal-to
或 less-than-or-equal-to
标记。但是,有希腊符号,例如大写 Sigma(求和)。只需搜索 尝试将它们作为 HTML。
String htmlStringWithMathSymbols = "≤ ≥";
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 中包含带有 &#<uni-code>;
的 unicode 字符的 HTML 代码。例如,如果您想在与您的活动相对应的 XML 文件(例如 main.xml)的按钮视图中显示数学符号“Pi”,您将在 main.xml 中包含以下内容:
<Button
...
android:text="@string/button_pi"
...
</Button>
然后您将在 strings.xml 文件中识别上面包含的字符串资源 'button_pi',如下所述
<string name="button_pi"> Π</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,但它们只是作为文本“<”出现哈哈。有办法解决吗?我试过用引号输入它,但认为这没有帮助。 尝试使用文字字符而不是代码或替代标识符;而不是“<”使用“ 【参考方案5】:以下任何&int; &Integral; &#x0222B; &#8747;
都会产生一个整数符号:∫
∬可以用&Int; &#x0222C;
实现
&着色;可以用&tint;
实现
∮可以通过&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_
android:layout_
android:text="\u23F0"/>
将导致显示时钟
或在 Kotlin 中:
myTextView.text = "\u23F0"
【讨论】:
以上是关于如何在 Android 的 XML 编辑器中插入特殊字符作为文本?的主要内容,如果未能解决你的问题,请参考以下文章