2

我正在开发一个 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());
}

任何帮助将非常感激!

4

2 回答 2

3

你可以这样做:

String html = "This is a <i>Text</i>.";
editText.setText(Html.fromHtml(html));
于 2013-07-09T17:45:31.667 回答
2

您可以使用 Spannable String

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

于 2013-07-09T17:47:21.737 回答