迁移到Android Studio后,按钮中的Html文本(或spannable)不起作用

时间:2014-12-13 17:38:58

标签: android html button android-studio spannable

MyButton.setText(Html.fromHtml("*  <small><sup>^</sup></small>"));

使用Eclipse:

enter image description here

使用Android Studio:

enter image description here

如果我使用其他方法,则相同:

SpannableStringBuilder cs = new SpannableStringBuilder("*  ^");    
cs.setSpan(new SuperscriptSpan(), 1, 4, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
cs.setSpan(new RelativeSizeSpan((float) 0.50), 1, 4, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
MyButton.setText(cs);

Muy buid.graddle配置是:

android {
   compileSdkVersion 18
   buildToolsVersion "21.1.2"

感谢您的帮助!

2 个答案:

答案 0 :(得分:0)

问题不在于迁移。我用AS创建了一个新程序:

    LinearLayout ly = new LinearLayout(this);

    Button b = new Button(this);
    b.setText(Html.fromHtml("*  <small><sup>^</sup></small>"));

    ly.addView(b);

    TextView tv = new TextView(this);
    tv.setText(Html.fromHtml("*  <small><sup>^</sup></small>"));

    ly.addView(tv);

    setContentView(ly);

Android Studio的结果:

enter image description here

它正在textview中工作,但在按钮中,上标为&#34; ^&#34;角色不存在。 eclipse中的相​​同代码适用于textview和按钮。

我使用的是AS 1.0.1,我的buid.graddle配置是:

android {
  compileSdkVersion 21
  buildToolsVersion "21.1.2"

感谢您的帮助!

答案 1 :(得分:0)

试试这个......

Button byButton = new Button(this);
byButton.setText(Html.fromHtml(" * <small><sup> ^ </sup></small>"));