2

2 つのサイズのテキストを含む TextView オブジェクトを持つことは可能ですか?


メソッドを使用して、単一の TextView オブジェクトを使用して、テキスト コンテンツの色を変更できますtextViewObj.setText(Html.fromHtml());。しかし、以下のように単一の TextView オブジェクトに 2 つのサイズのテキストを含めることは可能ですか

このような

私が得ているものを以下に示します。私はたくさん試しましたが、テキストは同じサイズです。

このような

4

3 に答える 3

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);
于 2012-04-07T10:52:36.070 に答える
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 が表示されますが、2 つの異なる行に表示されます。ただし、<font>タグの値は何も変更しません

ここに画像の説明を入力

于 2012-04-07T10:53:35.110 に答える
0

私が知っているように、TextView の場合は、setsize() メソッドを使用してテキストサイズ全体を変更できます。とにかく、別のアプローチをお勧めします。水平モードで、線形レイアウトで 2 つの Textsize を次々に使用します。このようにして、各 TextView の色/サイズなどを変更できます。

編集:htmlモードを使用しているため、別のアプローチは次のとおりです(htmlスタイルで変更される可能性があります):

myTextView.setText(Html.fromHtml("<b>" + mNumbers + "</b>" +  "<small>" + mSpeed + "</small>" ));
于 2012-04-07T10:54:47.043 に答える