是否可以让TextView对象包含两种尺寸的文本?
我们可以使用textViewObj.setText(Html.fromHtml());
方法使用单个TextView对象更改文本内容的颜色。但是可以在单个TextView对象中使用两种尺寸的文本,如下所示:
。
我得到的内容如下所示。我尝试了很多,但文字大小相同。
答案 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>
标记值不会改变任何东西
答案 2 :(得分:0)
据我所知,对于TextView,您只需使用setsize()方法更改整个文本大小。 无论如何,我建议你采用另一种方法:在水平模式下,在一个接一个的线性布局中使用两个Textsize。 通过这种方式,您可以更改每个TextView的颜色/大小/等。
编辑:另一种方法,因为你使用的是html模式,如下所示(可能会改变你的html样式):
myTextView.setText(Html.fromHtml("<b>" + mNumbers + "</b>" + "<small>" + mSpeed + "</small>" ));