我对Android很新,我试图在textView中显示一些化学公式,它包含在customListView中。 我从xml解析中获取所有数据,然后我希望显示公式,例如C₉H₈O4。 但我只能看到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>
”));
但我真的不知道如何在我的情况下使用它。
有什么建议吗?
答案 0 :(得分: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/
答案 1 :(得分:0)
最后我解决了问题:这是一个字体问题。 我刚刚使用Calibri,它有效!