spannable在android上用于textView

bar*_*ran 36 java twitter android spannable

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);
Run Code Online (Sandbox Code Playgroud)

我在我的Android应用程序中设置了Twitter数据.我想使用Spannable使字体粗体和斜体,但它不起作用,给出错误.我该怎么做?

ρяσ*_*я K 75

我想使字体粗体和ıtalic与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);
Run Code Online (Sandbox Code Playgroud)

编辑: 你也可以使用Html.fromHtml在textview中制作文字Bold和Italic:

tt.setText(Html.fromHtml("<strong><em>"+o.content+"</em></strong>"));
Run Code Online (Sandbox Code Playgroud)

  • @baran:您还可以使用`Html.fromHtml`来使文本变为粗体和斜体 (2认同)