【问题标题】:Android textview text with two different sizes两种不同大小的Android textview文本
【发布时间】:2015-03-18 18:00:12
【问题描述】:

我试图在一个 textview 中设置具有不同文本大小的 html 文本,但什么也没有。

我正在尝试这样:

textViewNextTime.setText(Html.fromHtml("<h2>4</h2><p>38</p>"));

而且我也尝试过使用和标签,但没有成功。谁能帮我用这样的文字创建一个textView(当然没有圆圈):

编辑:例如,4 的大小应类似于 140sp:38 的大小应类似于 70sp

【问题讨论】:

  • 请解释一下“没有成功”是什么意思。例如,您可能会截取所获得的内容并将其发布。除此之外,您的 HTML 也不会给您在常规 Web 浏览器中所寻找的内容,因为 438 将位于不同的行上。如果您使用&lt;font size="..."&gt; 而不是&lt;h2&gt;&lt;p&gt;,那么在浏览器和Html.fromHtml() 中,您将会有更好的运气。

标签: java android textview android-textattributes


【解决方案1】:

如果你不需要使用 html,你可以试试这样的:

String s= "4:38";
SpannableString ss1=  new SpannableString(s);
ss1.setSpan(new RelativeSizeSpan(2f), 0, 1, 0); // set size
TextView tv= (TextView) findViewById(R.id.textview);
tv.setText(ss1); 

【讨论】:

    【解决方案2】:

    试试这个: MainActivity.java

    public class MainActivity extends Activity {
    
        private final String htmlText = "<body><h1>Heading Text</h1><p>This tutorial " +
                "explains how to display " +
                "<strong>HTML </strong>text in android text view.&nbsp;</p>" +
                "<img src=\"hughjackman.jpg\">" +
                "<blockquote>Example from <a href=\"www.javatechig.com\">" +
                "Javatechig.com<a></blockquote></body>";
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
    
            TextView htmlTextView = (TextView)findViewById(R.id.html_text);
            htmlTextView.setText(Html.fromHtml(htmlText, new ImageGetter(), null));
    
        }
    
        private class ImageGetter implements Html.ImageGetter {
    
            public Drawable getDrawable(String source) {
                int id;
                if (source.equals("hughjackman.jpg")) {
                    id = R.drawable.abc_ic_ab_back_mtrl_am_alpha;
                }
                else {
                    return null;
                }
    
                Drawable d = getResources().getDrawable(id);
                d.setBounds(0,0,d.getIntrinsicWidth(),d.getIntrinsicHeight());
                return d;
            }
        };
    
    }
    

    activity_main.xml

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        tools:context=".MainActivity"
        android:orientation="vertical" >
    
        <TextView
            android:id="@+id/title_text"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Your HTML text Below"/>
    
        <TextView
            android:id="@+id/html_text"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"/>
    
    </LinearLayout>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-03-16
      • 1970-01-01
      • 2012-02-05
      • 1970-01-01
      • 2018-04-02
      • 2021-03-12
      相关资源
      最近更新 更多