在textview中将字符串的一部分加粗
为什么以下代码不起作用?它可以在Toast中工作,但不能在TextView中工作。当我运行程序时,boldName不会显示为粗体,但是当我将其设置为Toast时,它会显示为粗体。有人还有其他解决方案吗?
String boldName = "<b>" + name + "</b>";Spanned conBold = Html.fromHtml(boldName);
chosen_contact.setText("You have chosen " + conBold + " as your contact.");
回答:
老实说,我不确定为什么TextViews完全按照它们的方式工作,您可以在执行操作时将其全部设置为粗体,但前提是它们的整个TextView都为粗体,但是如果其中一部分是粗体的则不能那里的其他弦乐。
但是,此代码将为您工作:
// a SpannableStringBuilder containing text to displaySpannableStringBuilder sb = new SpannableStringBuilder("You have chosen " + name + " as your contact.");
// create a bold StyleSpan to be used on the SpannableStringBuilder
StyleSpan b = new StyleSpan(android.graphics.Typeface.BOLD); // Span to make text bold
// set only the name part of the SpannableStringBuilder to be bold --> 16, 16 + name.length()
sb.setSpan(b, 16, 16 + name.length(), Spannable.SPAN_INCLUSIVE_INCLUSIVE); // make first 4 characters Bold
chosen_contact.setText(sb); // set the TextView to be the SpannableStringBuilder
以上是 在textview中将字符串的一部分加粗 的全部内容, 来源链接: utcz.com/qa/412659.html