164

内部にtextView数字 (変数) と がstringありstringます。コード:

TextView size = (TextView)convertView.findViewById(R.id.privarea_list_size);
if (ls.numProducts != null) {
    size.setText(ls.numProducts + " " + mContext.getString(R.string.products));
}

ls.numproducts のサイズが残りのテキストと異なるようにしたい。実行する方法?

4

12 に答える 12

404

使うSpannable String

 String s= "Hello Everyone";
 SpannableString ss1=  new SpannableString(s);
 ss1.setSpan(new RelativeSizeSpan(2f), 0,5, 0); // set size
 ss1.setSpan(new ForegroundColorSpan(Color.RED), 0, 5, 0);// set color
 TextView tv= (TextView) findViewById(R.id.textview);
 tv.setText(ss1); 

スナップショット

ここに画像の説明を入力

スペースを使用して文字列を分割し、必要な文字列にスパンを追加できます。

 String s= "Hello Everyone";  
 String[] each = s.split(" ");

に適用spanstring、同じものを に追加しtextviewます。

于 2013-05-02T10:10:41.397 に答える
143

同じテキストビューで複数の異なるサイズを設定する方法を疑問に思っている場合に備えて、相対サイズではなく絶対サイズを使用AbsoluteSizeSpanすると、RelativeSizeSpan.

目的のテキストサイズのピクセル単位の寸法を取得するだけです

int textSize1 = getResources().getDimensionPixelSize(R.dimen.text_size_1);
int textSize2 = getResources().getDimensionPixelSize(R.dimen.text_size_2);

AbsoluteSpan次に、テキストに基づいて新しいものを作成します

String text1 = "Hi";
String text2 = "there";

SpannableString span1 = new SpannableString(text1);
span1.setSpan(new AbsoluteSizeSpan(textSize1), 0, text1.length(), SPAN_INCLUSIVE_INCLUSIVE);

SpannableString span2 = new SpannableString(text2);
span2.setSpan(new AbsoluteSizeSpan(textSize2), 0, text2.length(), SPAN_INCLUSIVE_INCLUSIVE);

// let's put both spans together with a separator and all
CharSequence finalText = TextUtils.concat(span1, " ", span2);
于 2015-01-27T15:58:16.030 に答える
10

これは、html 文字列を使用し、html を Textview に設定することで実現できます。
txtView.setText(Html.fromHtml("Your html string here"));

例えば ​​:

txtView.setText(Html.fromHtml("<html><body><font size=5 color=red>Hello </font> World </body><html>"));`
于 2013-05-02T10:01:54.743 に答える
3

spannableStringbuilderを試してください。これを使用して、複数のフォント サイズの文字列を作成できます。

于 2013-05-02T10:04:39.720 に答える