2012-04-07 121 views
2

是否有可能有一个TextView对象包含两种尺寸的文本?
Android Textview的内容大小


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

like this

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

like this

回答

2

我与Editext.Then检查同我才知道,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,但在两个不同的line.But <font>标签值不会改变任何事情

enter image description here

+0

使用字体标签我可以改变文本的颜色。 – MobiDev 2012-04-07 11:03:38

+0

使用字体,我们可以改变颜色,但我不认为它可能改变TextSize.I会很高兴,如果这给了你一些idea.If我使用然后它可能改变文字大小,但它会去下一行 – Sameer 2012-04-07 11:06:13

+0

是的,它不会改变文字大小。我的问题是textview文本大小是100sp,所以上面的“999”数字打印在100sp中,其余文本“mg/dL”使用Html.fromHtml()方法打印,我不知道文本大小。现在我正在考虑为“999”和“mg/dL”两个文本浏览。你建议什么? – MobiDev 2012-04-07 11:15:58

3

您CA使用Spannable:

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

你可以做woth颜色

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

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

编辑:另一种方法,因为您使用的是HTML模式,是以下(可能与你的HTML风格的变化):

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