如何在TextView中显示<ruby>元素?

时间:2016-05-23 08:58:30

标签: android textview

mTextView.setText(Html.fromHtml("26<ruby>日<rt>にち</rt></ruby>から"));

Html.fromHtml并不能很好地支持ruby element。 textview中将省略<rt>个元素。有没有解决方法?我有一个这样的TextView列表,因此WebView效率低下。

编辑:我尝试WebView,它比我想象的要好。 Be careful with encodings

2 个答案:

答案 0 :(得分:3)

Android似乎支持以下 HTML标记在TextView上呈现

<a href=”…”> <b>,  <big>, <blockquote>, <br>, <cite>, <dfn>
<div align=”…”>,  <em>, <font size=”…” color=”…” face=”…”>
<h1>,  <h2>, <h3>, <h4>,  <h5>, <h6>
<i>,  <img src=”…”>,  <p>, <small>
<strike>,  <strong>, <sub>, <sup>, <tt>, <u>

此处不支持ruby标记。

  • 是否有解决方法?对于ruby -

答案 1 :(得分:0)

This project called RubySpan有一个解决方案。它是通过扩展ReplacementSpan来实现的。

  

RubySpan试图显示红宝石注释以及文本   使用Android TextView。与WebView解决方案相比,使用   带有TextView的RubySpan更快,更灵活且更友好   布局。当前的实施重点是在   日本汉字。但是您可以轻松地使其适应您的应用程序。的   支持的最小API是API 21(Android 5.0 Lollipop)。以来   布局文本是一件复杂的事情,仍然存在一些错误,并且   如果将其与由   浏览器或WebView。