2 つのサイズのテキストを含む TextView オブジェクトを持つことは可能ですか?
メソッドを使用して、単一の TextView オブジェクトを使用して、テキスト コンテンツの色を変更できますtextViewObj.setText(Html.fromHtml());
。しかし、以下のように単一の TextView オブジェクトに 2 つのサイズのテキストを含めることは可能ですか。
私が得ているものを以下に示します。私はたくさん試しましたが、テキストは同じサイズです。
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 が表示されますが、2 つの異なる行に表示されます。ただし、<font>
タグの値は何も変更しません
私が知っているように、TextView の場合は、setsize() メソッドを使用してテキストサイズ全体を変更できます。とにかく、別のアプローチをお勧めします。水平モードで、線形レイアウトで 2 つの Textsize を次々に使用します。このようにして、各 TextView の色/サイズなどを変更できます。
編集:htmlモードを使用しているため、別のアプローチは次のとおりです(htmlスタイルで変更される可能性があります):
myTextView.setText(Html.fromHtml("<b>" + mNumbers + "</b>" + "<small>" + mSpeed + "</small>" ));