0

我对 Android 很陌生,我正在尝试在 customListView 中包含的 textView 中显示一些化学公式。我正在从 xml 解析中获取所有数据,然后我希望显示公式,例如 C₉H₈O₄。但我只能看到 1-4 位数字。

我正在以这种方式从“正常”转换为“下标”

str = str.replaceAll("0", "\u2080");
str = str.replaceAll("1", "\u2081");
str = str.replaceAll("2", "\u2082");
str = str.replaceAll("3", "\u2083");
str = str.replaceAll("4", "\u2084");
str = str.replaceAll("5", "\u2085");
str = str.replaceAll("6", "\u2086");
str = str.replaceAll("7", "\u2087");
str = str.replaceAll("8", "\u2088");
str = str.replaceAll("9", "\u2089");

str 包含从 xml 文件中获取的公式。

奇怪的行为是我可以在 Logcat 中看到应有的公式。

我也尝试过使用海关字体,但没有。

这里有两个结果:第一个是普通字体,第二个是自定义字体

https://www.dropbox.com/s/jyk64p700up14db/cella.jpg https://www.dropbox.com/s/ab9h1b45j2hrods/Schermata%2003-2456370%20alle%2022.05.45.png

在网络上,我可以使用类似的方法阅读解决方案

setText(Html.fromHtml("X <sub>2</sub>"));

但我真的不知道如何在我的情况下使用它。

有什么建议吗?

4

2 回答 2

0

尝试解决这个问题并不容易,Html.fromHtml("X<sub>2</sub>") 您需要一个可以帮助您实现这一目标的库

(JEuclid 是一个完整的 MathML 渲染解决方案,包括:)http://jeuclid.sourceforge.net/

查看示例,您将获得解决问题的方法

使用 TeX 渲染数学表达式的其他替代方法:

http://jmathtex.sourceforge.net/
http://sourceforge.net/projects/snuggletex/
http://forge.scilab.org/index.php/p/jlatexmath/
于 2013-03-18T22:33:07.610 回答
0

最后我解决了这个问题:这是一个字体问题。我刚刚使用了 Calibri,它的工作原理!

于 2013-03-19T13:12:51.080 回答