1

我正在制作一个数学工具,但我在它的图形表示上遇到了一些麻烦。

我正在尝试上标一些字符串,而我使用的方法是

    tV = (TextView) findViewById(R.id.textView);

    String textEAS;
    String textEBS;
    String textEXS;
    String textEYS;

    textEAS = "A";
    textEBS = "B";
    textEXS = "X";
    textEYS = "Y";

    int lengthA = textEAS.length();
    int lengthB = textEBS.length() + lengthA+3;
    int lengthX = textEXS.length() + lengthB + lengthA;
    int lengthY = textEYS.length();
    String textComb = ( textEBS + " * " + textEAS + textEXS + " = " + textEYS);



    SpannableStringBuilder cs = new SpannableStringBuilder(textComb);
    cs.setSpan(new SuperscriptSpan(), lengthB, lengthX, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
    cs.setSpan(new RelativeSizeSpan(0.75f), lengthB, lengthX, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);

    tV.setText(cs);

它工作正常并输出 B*A^X=Y 之类的文本(带有上标 x),但是当我在字符串 textEXS 中添加多个字母时,一切都下降到一行并且上标丢失了。

4

0 回答 0