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

如下面的代码所示,我希望显示buttonXPow

XY

我希望button10Pow显示:

10岁

我想避免不得不在可能的情况下显示X^y10^y



到目前为止,我找到的唯一可能的解决方案是此代码(found in this stackoverflow question here):

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无法解析。我不确定如何使它正常工作(显然这不是我需要导入的类;我假设我需要以某种方式声明一个变量)。

还有其他已知的设置上标文本的方法吗?也许用xml而不是在主要的Java类中?

最佳答案

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

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

然后在您的活动中使用-

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

这将得到x ^ 2

08-16 15:11