2013-03-18 49 views
0

我对Android非常陌生,我试图在包含在customListView中的textView中显示一些化学公式。 我从XML解析获取所有数据,然后我想显示公式,例如C₉H₈O₄。 但我只能看到1-4位数字。无法在textView中显示下标文本

我是从“正常”到“标”这样

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

这不会是容易试图SOLV这个问题与Html.fromHtml("X<sub>2</sub>") 你需要一个lib,可以帮助你实现这一

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

看一下例子,你会得到一个方法来解决问题

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

http://jmathtex.sourceforge.net/ 
http://sourceforge.net/projects/snuggletex/ 
http://forge.scilab.org/index.php/p/jlatexmath/ 
0

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