这是我的代码,我想在我的Textview
中添加两种字体。我可以成功实现一个代码来做到这一点。我的问题是我想编辑变量text
而不改变安排。
String text = " my font1 , font 2 ";
Typeface font,font1;
font = Typeface.createFromAsset(getAssets(), "font.TTF");
font1 = Typeface.createFromAsset(getAssets(), "font1.TTF");
Spannable s = new SpannableString(text);
s.setSpan(new CustomTypefaceSpan("", font), curpos, endpos, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
s.setSpan(new CustomTypefaceSpan("", font1), curpos, endpos, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
.
.
.
.
//want to chage variable text here !
我提到了以下内容,但我没有得到解决方案。
Set color of TextView span in Android
Android: Coloring part of a string using TextView.setText()?
答案 0 :(得分:0)
你可以尝试这样的事情:
public void updateTextView(String toThis) {
TextView textView = (TextView) findViewById(R.id.textView);
textView.setText(toThis);
// Put here your span, ...
}
如果您想要更新function
textView
答案 1 :(得分:0)
尝试使用SpannableStringBuilder类。 “这是文本的类,其内容和标记都可以更改。”听起来您需要一个可变的类。
目前还不清楚您要如何更改文本,但是我使用SpannableStringBuilder这样在html文本的开头插入其他文本。有了字符串生成器对象后,就有足够的方法来修改内容。
Spanned spHtml = Html.fromHtml(myHtmlString, Html.FROM_HTML_MODE_LEGACY);
SpannableStringBuilder sb = new SpannableStringBuilder(spHtml);
sb.insert(0, "text to be inserted");