问题
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);
I'm setting twitter data in my Android application. I want to make the font bold and italic using Spannable but it does not work, giving an error. How can I do it?
回答1:
I want to make the font bold and ıtalic with spannable
for this u will need to make o.content
text as SpannableString
then set it to TextView as :
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 : you can also use Html.fromHtml for making text Bold and Italic in textview as :
tt.setText(Html.fromHtml("<strong><em>"+o.content+"</em></strong>"));
回答2:
The easy way to create a spannable
text bold
and italic
to set into your TextView
is using the method Html.fromHtml()
:
and using the html elements <b>
and <i>
myTextView.setText(Html.fromHtml("<b><i>my text bold and italic!</i></b>"));
or the html elements <strong>
and <em>
myTextView.setText(Html.fromHtml("<strong><em>my text bold and italic!</em></strong>"));
来源:https://stackoverflow.com/questions/14840247/spannable-on-android-for-textview