40
Tweet o = tweets.get(position);

TextView tt = (TextView) v.findViewById(R.id.toptext);
//TextView bt = (TextView) v.findViewById(R.id.bottomtext);         

EditText bt =(EditText)findViewById(R.id.bottomtext);
bt.setText(o.author);
Spannable spn = (Spannable) bt.getText();
spn.setSpan(new StyleSpan(android.graphics.Typeface.BOLD_ITALIC)
, 0, 100, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);  

//bt.setText(o.author);    
tt.setText(o.content);

AndroidアプリケーションでTwitterデータを設定しています。Spannableを使用してフォントを太字と斜体にしたいのですが、機能せず、エラーが発生します。どうすればいいですか?

4

3 に答える 3

79

spannableでフォントを太字・イタリックにしたい

o.contentこのため、次のようにテキストを作成しSpannableString、それを TextView に設定する必要があります。

SpannableString spannablecontent=new SpannableString(o.content.toString());
spannablecontent.setSpan(new StyleSpan(android.graphics.Typeface.BOLD_ITALIC), 
                         0,spannablecontent.length(), 0);
// set Text here
tt.setText(spannablecontent);

EDIT: Html.fromHtmlを使用して、テキストビューでテキストを太字および斜体にすることもできます:

tt.setText(Html.fromHtml("<strong><em>"+o.content+"</em></strong>"));
于 2013-02-12T19:40:32.250 に答える
2

spannableテキストboldを作成italicして設定する簡単な方法は、次TextViewのメソッドを使用することHtml.fromHtml()です。

html 要素を使用して<b><i>

myTextView.setText(Html.fromHtml("<b><i>my text bold and italic!</i></b>"));

またはhtml要素<strong><em>

   myTextView.setText(Html.fromHtml("<strong><em>my text bold and italic!</em></strong>"));
于 2015-08-21T23:27:06.043 に答える