2

对不起,我的英语不足以清楚地解释我想要什么,也许这就是我在谷歌上找不到答案的原因。

当您使用真正的书籍时 - 有时您有一些需要解释的文本,然后在该文本之后您会在页面底部的一行下方有“*”符号和解释。

有时它不是一个“*”,它是最后一个单词顶部的一个小数字。如“1”、“2”等,然后在页面底部的一行下方进行相同的说明。

我需要知道的 - java/Android SDK 中是否有任何工具可以让这个数字很小并且在 TextView 的顶部?

就像,也许跨接字符串可以做到这一点?

4

4 回答 4

3

产生这样的最简单的方法Spanned是使用 Html 实用程序类:

textView.setText(Html.fromHtml("book<sup>1</sup>"));
于 2014-02-07T06:56:09.727 回答
2

测试演示

public class MainActivity extends Activity {

    TextView textView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        textView = (TextView) findViewById(R.id.textView);
        textView.setText(Html.fromHtml("Hi this demo test for book reading effect <sup>2</sup>"));
    }

}

输出:

在此处输入图像描述

于 2014-02-07T06:58:24.823 回答
2

您可以在SpannableString中使用SubscriptSpanSuperscriptSpan

于 2014-02-07T06:53:21.660 回答
0

您可以实现这两种方式。

1)使用上标跨度:

SpannableString span = new SpannableString("book1");
        span.setSpan(new SuperscriptSpan(), 4, 5,
                Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
txt.setText(span, BufferType.SPANNABLE);

2)使用HTML:

txt.setText(Html.fromHtml("book<sup>1</sup>"));
于 2014-02-07T08:29:28.120 回答