Android Textview内容大小

时间:2012-04-07 10:16:07

标签: android textview size

是否可以让TextView对象包含两种尺寸的文本?


我们可以使用textViewObj.setText(Html.fromHtml());方法使用单个TextView对象更改文本内容的颜色。但是可以在单个TextView对象中使用两种尺寸的文本,如下所示:
like this

我得到的内容如下所示。我尝试了很多,但文字大小相同。

like this

3 个答案:

答案 0 :(得分:3)

你可以使用Spannable:

Spannable span = new SpannableString("bigsmall");
span.setSpan(new RelativeSizeSpan(3f), 0, 3, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
tv.setText(span);

与颜色相同

span.setSpan(new ForegroundColorSpan(Color.GRAY), 0, 3, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);

答案 1 :(得分:2)

我已经检查过Editext。然后我才知道Html.fromHtml()不支持<font>代码。我使用此代码

EditText text = (EditText) findViewById(R.id.title);
 text.setText(Html
            .fromHtml("<html><h3>hello</h3><h1>hello</h1>"
                    + "<p><font size=\"5\">Font</font><font 
                                        size=\"10\">size</font>"
                    + "</p></html>"));

它显示不同大小的文本hello和hello但是在两个不同的行中。但是<font>标记值不会改变任何东西

enter image description here

答案 2 :(得分:0)

据我所知,对于TextView,您只需使用setsize()方法更改整个文本大小。 无论如何,我建议你采用另一种方法:在水平模式下,在一个接一个的线性布局中使用两个Textsize。 通过这种方式,您可以更改每个TextView的颜色/大小/等。

编辑:另一种方法,因为你使用的是html模式,如下所示(可能会改变你的html样式):

myTextView.setText(Html.fromHtml("<b>" + mNumbers + "</b>" +  "<small>" + mSpeed + "</small>" ));