Android 如何使用TextAppearanceSpan
我可以使较小的最后2个数字,但我希望他们显示顶部,如下图所示Android 如何使用TextAppearanceSpan,android,textview,Android,Textview,我可以使较小的最后2个数字,但我希望他们显示顶部,如下图所示 TextView TV = (TextView)findViewById(R.id.txt); Spannable WordtoSpan = new SpannableString("13.500,27"); WordtoSpan.setSpan( new TextAppearanceSpan(null, 0, 12, null, null), WordtoSpan.length()-2, WordtoSpan.l
TextView TV = (TextView)findViewById(R.id.txt);
Spannable WordtoSpan = new SpannableString("13.500,27");
WordtoSpan.setSpan( new TextAppearanceSpan(null, 0, 12, null, null), WordtoSpan.length()-2, WordtoSpan.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
TV.setText(WordtoSpan);
谢谢塔哈
编辑:
您可以使用SuperscriptSpan()
增加字体大小以查看效果
试试这个 除了将上标文本附加到原始的spannalbe字符串之外,我没有找到任何其他方法 为SpannableStringBuilder应用所需的任何跨度
SpannableStringBuilder builder=new SpannableStringBuilder("13.500,");
builder.append(Html.fromHtml("X<sup>27</sup>"))
SpannableStringBuilder builder=new SpannableStringBuilder("13.500,");
builder.append(Html.fromHtml("X<sup>27</sup>"))
public class SuperscriptSpan2 extends MetricAffectingSpan implements
ParcelableSpan {
public SuperscriptSpan2() {
}
public int getSpanTypeId() {
return TextUtils.CAP_MODE_CHARACTERS;
}
public int describeContents() {
return 0;
}
public void writeToParcel(Parcel dest, int flags) {
}
@Override
public void updateDrawState(TextPaint tp) {
tp.baselineShift += (int) (tp.ascent() / 1.25);
}
@Override
public void updateMeasureState(TextPaint tp) {
tp.baselineShift += (int) (tp.ascent() / 1.25);
}
}