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