Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 使用SpannableStringBuilder的上标_Android_String_Math_Spanned_Spannablestringbuilder - Fatal编程技术网

Android 使用SpannableStringBuilder的上标

Android 使用SpannableStringBuilder的上标,android,string,math,spanned,spannablestringbuilder,Android,String,Math,Spanned,Spannablestringbuilder,我正在做一个数学工具,我在用图形表示它时遇到了一些麻烦 我试图在一些字符串上标,我使用的方法是 tV = (TextView) findViewById(R.id.textView); String textEAS; String textEBS; String textEXS; String textEYS; textEAS = "A"; textEBS = "B"; textEXS = "X"; textEYS =

我正在做一个数学工具,我在用图形表示它时遇到了一些麻烦

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

    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),但是当我在字符串textex中添加多个字母时,所有内容都下降到一行,上标就丢失了