Taw*_*ani 23 android textview subscript
即使我android:layout_height="wrap_content"用于TextView ,Android TextView也会剪切我的文本下标(见下图).有没有修复/解决这个问题?
替代文字http://i38.tinypic.com/qy8n7m.png
P/S:上传文章工作正常
注意:填充不起作用.
示例代码:
mtTextView.setText(Html.fromHtml("HC0<sub>3</sub>"));
Nic*_*lov 21
大多数答案建议添加填充或使用较小的子/上标.这些可能是可用的解决方法,但它们并没有真正解决问题.理想情况下,我们希望Android在计算行高时考虑子/上标.我想我已经找到了如何做到这一点,而且我正在为谷歌搜索这个问题分享它.
SpannableStringBuilder sb = new SpannableStringBuilder("X2");
sb.setSpan(new SuperscriptSpan(), 1, 2, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
textView.setText(sb, BufferType.SPANNABLE);
Run Code Online (Sandbox Code Playgroud)
诀窍在于BufferType.SPANNABLE.显然它使TextView更加注意标记并正确计算线高.
Tri*_*ith 19
这个解决方案对我有用.
当浏览器呈现时,上标文本通常会变小,这似乎不会发生在这里,所以你可以通过这样做来复制(并解决这个问题):
someTextView.setText(Html.fromHtml("Some text<sup><small>1</small></sup>"));
Run Code Online (Sandbox Code Playgroud)
Dan*_*Dan 10
对于下标,需要略微改变上述建议,两个小标签:
textView.setText(Html.fromHtml(
"HCO<sub><small><small>3</small></small></sub>));
Run Code Online (Sandbox Code Playgroud)
我有同样的问题,所以在阅读帖子后,我发现这是有效的.
示例:H 2 O
只需使用:
textView.setText(Html.fromHtml("H<sub>2</sub>O"),BufferType.SPANNABLE);
Run Code Online (Sandbox Code Playgroud)
BufferType.SPANNABLE非常重要,因为它会告诉textview考虑上标范围.
如果您使用HTML的自定义标记处理程序,您也可以像这样使用它:
textView.setText(Html.fromHtml(data, null, new CustomHtmlTagHandler(),BufferType.SPANNABLE);
Run Code Online (Sandbox Code Playgroud)
希望它可以帮助某人寻找同样的问题.
| 归档时间: |
|
| 查看次数: |
7586 次 |
| 最近记录: |