Java Android文本视图上标

Java Android文本视图上标,java,android,textview,superscript,spannable,Java,Android,Textview,Superscript,Spannable,所以我尝试将超级脚本/下标添加到文本视图中,基本上尝试将分数显示为1/2。我不知道我哪里出了问题,而且我是Android新手,所以非常感谢您的帮助。谢谢 SpannableStringBuilder numSpan = new SpannableStringBuilder(String.valueOf(num)); SpannableStringBuilder denSpan = new SpannableStringBuilder(String.valueOf(den)); numSpan.

所以我尝试将超级脚本/下标添加到文本视图中,基本上尝试将分数显示为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););

改为尝试
Html.fromHtml
。简单而精确:

outputText.setText(Html.fromHtml("<sup>" + num + "</sup>/<sub>" + den + "</sub>"));
outputText.setText(Html.fromHtml(“+num+”/“+den+”);
注意:您可能需要为textview提供一些高度,否则输出将被剪裁

或者,您可以尝试此方法,其中数字大小较小:

outputText.setText(Html.fromHtml("<sup><small>" + num + "</small></sup>/<sub><small>" + den + "</small></sub>"));
outputText.setText(Html.fromHtml(“+num+”/“+den+”);

试试
Html.fromHtml
。简单而精确:

outputText.setText(Html.fromHtml("<sup>" + num + "</sup>/<sub>" + den + "</sub>"));
outputText.setText(Html.fromHtml(“+num+”/“+den+”);
注意:您可能需要为textview提供一些高度,否则输出将被剪裁

或者,您可以尝试此方法,其中数字大小较小:

outputText.setText(Html.fromHtml("<sup><small>" + num + "</small></sup>/<sub><small>" + den + "</small></sub>"));
outputText.setText(Html.fromHtml(“+num+”/“+den+”);

您可以使用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);
或者绝对地

numSpan.setSpan(new SuperscriptSpan(), 0, numSpan.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
numSpan.setSpan(new AbsoluteSizeSpan(28), 0, numSpan.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);

您可以使用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);
或者绝对地

numSpan.setSpan(new SuperscriptSpan(), 0, numSpan.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
numSpan.setSpan(new AbsoluteSizeSpan(28), 0, numSpan.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);

有没有办法改变上标文字的字号(数字)呢?有没有办法改变上标文字的字号(数字)?