use*_*877 1 java android superscript textview spannable
所以我想superscipt /标添加到一个TextView,基本上是试图使一小部分显示为1/2.不知道我哪里出错,而且我是Android的新手,所以任何帮助都表示赞赏.谢谢!
SpannableStringBuilder numSpan = new SpannableStringBuilder(String.valueOf(num));
SpannableStringBuilder denSpan = new SpannableStringBuilder(String.valueOf(den));
numSpan.setSpan(new SuperscriptSpan(), 0, numSpan.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
denSpan.setSpan(new SubscriptSpan(), 0, denSpan.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
outputText.setText(numSpan + "/" + denSpan, TextView.BufferType.SPANNABLE););
Run Code Online (Sandbox Code Playgroud)
Amu*_*are 12
试试吧Html.fromHtml.简单而精确:
outputText.setText(Html.fromHtml("<sup>" + num + "</sup>/<sub>" + den + "</sub>"));
Run Code Online (Sandbox Code Playgroud)
注意:您可能需要为textview提供一些高度,否则将剪切输出.
或者,您可以尝试这样,数字大小较小:
outputText.setText(Html.fromHtml("<sup><small>" + num + "</small></sup>/<sub><small>" + den + "</small></sub>"));
Run Code Online (Sandbox Code Playgroud)
小智 5
您可以使用RelativeSizeSpan
numSpan.setSpan(new SuperscriptSpan(), 0, numSpan.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
numSpan.setSpan(new RelativeSizeSpan(0.5f), 0, numSpan.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
Run Code Online (Sandbox Code Playgroud)
或绝对尺寸跨度
numSpan.setSpan(new SuperscriptSpan(), 0, numSpan.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
numSpan.setSpan(new AbsoluteSizeSpan(28), 0, numSpan.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7113 次 |
| 最近记录: |