为 android 按钮设置上标文本

Setting superscript text for android button

我不知道如何在 android 按钮中设置上标文本(用于数学运算符)。

如以下代码所示,我希望 buttonXPow 显示:

Xy

我希望 button10Pow 显示:

10y

我希望尽可能避免不得不显示 X^y10^y


到目前为止我找到的唯一可能的解决方案是这段代码 ():

protected void onCreateView() {

    if (rootView.findViewId(R.id.buttonXPow) !=null) {
        ((Button) rootView.findViewById(R.id.buttonXPow)).setText(Html.fromHtml("X <sup><small> y </small></sup>"));
    }
    if (rootView.findViewId(R.id.button10Pow) !=null) {
        ((Button) rootView.findViewById(R.id.button10Pow)).setText(Html.fromHtml("10 <sup><small> y </small></sup>"));
    }
}

问题是rootView无法解决。我不确定如何让它工作(显然它不是我需要导入的 class;我假设我需要以某种方式声明一个变量)。

是否有任何其他已知的设置上标文本的方法;也许与 xml 而不是主要 java class?

在您的 strings.xml 文件中添加以下内容-

<string name="test_string"> <![CDATA[ X<sup><small>2</small></sup> ]]> </string>

然后在您的activity中使用-

访问它

getResources().getString(R.string.test_string)

这将得到 x^2

将以下内容添加到 onCreate 方法有效

((TextView)findViewById(R.id.buttonXPow)).setText(Html.fromHtml("X<sup>y</sup>"));
((TextView)findViewById(R.id.button10Pow)).setText(Html.fromHtml("10<sup>y</sup>"));