TextView上标未正确显示

时间:2012-04-15 14:38:07

标签: android textview superscript

我在第一个答案中使用了找到的代码:Subscript and Superscript a String in Android,但是将其与前一个字符串连接起来,所以我的代码看起来类似于:

TextView text = (TextView) findViewById(R.id.text);
text.setText(text.getText().toString()+Html.fromHtml("<sup>-2</sup>"));

比如说,文本内容为“3x”,在使用setText设置文本后,格式为“3x-2”,没有下标。

TextView的XML是:

<TextView
            android:id="@+id/text"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_alignParentTop="true"
            android:layout_marginLeft="55dp"
            android:layout_marginTop="210dp"
            android:text="3x"
            android:textAppearance="?android:attr/textAppearanceLarge"
            android:textSize="14pt"
            android:visibility="VISIBLE" 
/>

感谢您的帮助。

4 个答案:

答案 0 :(得分:7)

而不是这一行..

text.setText(text.getText().toString()+Html.fromHtml("<sup>-2</sup>"));

试试这个

 text.setText(Html.fromHtml(text.getText().toString()+"<sup>-2</sup>"));

答案 1 :(得分:4)

请检查以下对我的工作正常

"TEXT<sup><small>TM</small></sup> TEXT"

以上代码将使TM成为下标并使文本大小

答案 2 :(得分:2)

对于小尺寸您也可以使用-

text.setText(Html.fromHtml(text.getText().toString()+"<sup><small>-2</small></sup>"));  

将整个文本仅放入一个Html.fromHtml("Your whole string")

来自strings.xml

<string name="superscript_str">YourString&lt;sup&gt;&lt;small&gt;SuperScriptString&lt;/small&gt;&lt;/sup&gt;</string>

答案 3 :(得分:0)

如果您希望将显示视为超文本,请使用

text.setText(Html.fromHtml(text.getText().toString()+"<sup>small>-2</small>/sup>"));