spannable在Android上进行的TextView(spannable on android

2019-07-19 18:42发布

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使字体粗体和斜体,但它不能正常工作,给了一个错误。 我该怎么做?

Answer 1:

我想使字体粗体和斜体与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制作文字粗体和斜体中的TextView为:

tt.setText(Html.fromHtml("<strong><em>"+o.content+"</em></strong>"));


Answer 2:

最简单的方法来创建一个spannable文本bolditalic设置成你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>"));


文章来源: spannable on android for textView