Android TextView superscript

前端 未结 2 538
死守一世寂寞
死守一世寂寞 2021-01-07 07:21

So I\'m trying to add superscipt/subscript to a TextView, basically trying to make a fraction be displayed as 1/2. Not sure where I\'m going wrong, and

相关标签:
2条回答
  • 2021-01-07 07:46

    You can use 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);
    

    or AbsoluteSizeSpan

    numSpan.setSpan(new SuperscriptSpan(), 0, numSpan.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
    numSpan.setSpan(new AbsoluteSizeSpan(28), 0, numSpan.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
    
    0 讨论(0)
  • 2021-01-07 08:12

    Try Html.fromHtml instead. Simple and precise:

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

    Note: You may need to give some height to the textview else the output will be clipped.

    Alternatively, you could try this, where the number size is smaller:

    outputText.setText(Html.fromHtml("<sup><small>" + num + "</small></sup>/<sub><small>" + den + "</small></sub>"));
    
    0 讨论(0)
提交回复
热议问题