我正在开发一个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());
}
非常感谢任何帮助!
答案 0 :(得分:3)
你可以这样做:
String html = "This is a <i>Text</i>.";
editText.setText(Html.fromHtml(html));
答案 1 :(得分: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