如何在android中以斜体显示部分文本字段



我正在开发一个Android应用程序,它从用户输入的文本字段中获取一些数据,并根据这些数据在新的文本字段输出一个字符串。很简单,但是我需要字符串的部分用斜体表示。

我已经找到了如何使整个文本字段以斜体显示(如下所示),但只选择组成要以斜体显示的字符串的特定变量如何?

public class RefGenActivity extends Activity {
private EditText reftext;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_refgen);
reftext = (EditText) findViewById(R.id.editText1);      
reftext.setTypeface(null, Typeface.ITALIC); //SET TO ITALICS
reftext.setText(getRef());
}

任何帮助都将不胜感激!

你可以这样做:

String html = "This is a <i>Text</i>.";
editText.setText(Html.fromHtml(html));

您可以使用可生成字符串

String s= "Hello Everyone";
  SpannableString ss1=  new SpannableString(s);
  ss1.setSpan(new RelativeSizeSpan(2f), 0,5, 0);
  ss1.setSpan(new ForegroundColorSpan(Color.RED), 0, 5, 0); 
  ss1.setSpan(new StyleSpan(Typeface.ITALIC), 0, 5, 0); 
  ss1.setSpan(new StyleSpan(Typeface.BOLD), 0, ss1.length(), 0);
  ss1.setSpan(new ForegroundColorSpan(Color.RED), 0, ss1.length(), 0); 
  editText.append(ss1); 

更多造型

http://www.chrisumbel.com/article/android_textview_rich_text_spannablestring

最新更新