【问题标题】:how to set upper small text in android TextView?如何在 android TextView 中设置上部小文本?
【发布时间】:2014-01-18 10:29:23
【问题描述】:

我想在 android textView 中添加小的上部文字

你将如何实现它?

两个textViews都layout_below同一个元素然后

让第二个更小?

或者有没有办法在一个 textView 中为一个单词添加样式

(在其他语言中可以更长或更短)?

【问题讨论】:

    标签: android android-layout layout textview


    【解决方案1】:

    你可以通过下面的代码来实现

    ((TextView)findViewById(R.id.text)).setText(Html.fromHtml("2580<sup>TH</sup>"));
    

    【讨论】:

    • String str = "\"" + getString(R.string.some_string) + "TH" + "\"";并将其作为参数传递如下:Html,fromHtml(str);
    【解决方案2】:

    来自 Android Layout 框架的解决方案,将两个 textViews 放在一个线性布局中,就是这样。

    另一种方法是将小文本制作为图像。你可以直接将它添加到文本视图中。

    【讨论】:

      【解决方案3】:

      你可以这样做:

      ((TextView)findViewById(R.id.text)).setText(Html.fromHtml("YourRank:250<sup>TH</sup>"));
      

      你也可以这样做:

      String str=getString(R.string.rank); //YourRank:250
      String str2=getString(R.string.superScript); //TH
      ((TextView)findViewById(R.id.text)).setText(Html.fromHtml("+str+"<sup>"+str2+"</sup>"));
      

      它就像魅力一样!

      【讨论】:

      • 您在本地化系统中遇到过什么样的问题?
      • 它只使用纯字符串。不是html内容
      【解决方案4】:

      您可以使用SpannableStringBuilder 作为休闲场所:

      String text = "YourRank:250TH";
      
      SpannableStringBuilder spannableString = new SpannableStringBuilder(text);
      spannableString.setSpan(new SuperscriptSpan(), text.length() - 1, text.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
      
      YourTextView.setText(spannableString);
      

      【讨论】:

      • 但我已经提到最后一个单词 (th) 的长度可能不同,甚至在某些语言中不存在
      猜你喜欢
      • 2012-04-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-04
      • 1970-01-01
      • 2013-10-27
      相关资源
      最近更新 更多