Spannable на android для textView
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);
Я устанавливаю данные twitter в приложении для Android. Я хочу сделать шрифт полужирным и курсивом, используя Spannable, но он не работает, давая ошибку. Как я могу это сделать?
Ответы
Ответ 1
Я хочу сделать шрифт полужирным и ıtalic с spannable
для этого u нужно сделать текст 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);
РЕДАКТИРОВАТЬ:
вы также можете использовать Html.fromHtml для выделения текста Bold и Italic в текстовом виде как:
tt.setText(Html.fromHtml("<strong><em>"+o.content+"</em></strong>"));
Ответ 2
Простым способом создания текста spannable
text 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>"));