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

Java 如何在android中以斜体显示部分文本字段?,java,android,string,textbox,italics,Java,Android,String,Textbox,Italics,我正在开发一个Android应用程序,它从用户输入的文本字段中获取一些数据,并根据这些数据在新的文本字段中输出一个字符串。很简单,但是我需要字符串的部分是斜体 我已经了解了如何使整个文本字段以斜体显示(如下所示),但是如何只选择构成要以斜体显示的字符串的特定变量 public class RefGenActivity extends Activity { private EditText reftext; protected void onCreate(Bundle savedInstanc

我正在开发一个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 html=“这是一个文本。”;
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); 
更多样式


添加到上述答案中。支持的html标记列表。假设我需要对变量执行此操作?例如:String ref=variable+.”Raghunandan:谢谢您的添加:)Petehallw:您可以将变量连接到字符串上:“+var+”。谢谢您的回答,我很感激您的回答,但它的输出是:“blahblah”。我遗漏了什么吗?好的,但是如果我的字符串是如下所示的,并且我只希望variable1是斜体,例如字符串s=variable1+“,“+variable2+”?@petehollw您可以只对变量1应用样式,这不是问题。在上面的例子中,只有hello是斜体。您还可以按字符串按空格分割,将跨度应用于单个单词。我找不到源代码,但我已经回答了一个类似的问题,时间太长了。好的,谢谢,我将不得不研究setSpan()的参数!