我的应用程序中的ListView
有很多字符串元素,比如name
、experience
、date of joining
等等。我只想让name
变得粗体。所有的字符串元素都将在一个TextView
中。
我的XML
<ImageView
android:id="@+id/logo"
android:layout_width="55dp"
android:layout_height="55dp"
android:layout_marginLeft="5dp"
android:layout_marginRight="5dp"
android:layout_marginTop="15dp" >
</ImageView>
<TextView
android:id="@+id/label"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@id/logo"
android:padding="5dp"
android:textSize="12dp" >
</TextView>
设置ListView项的TextView的代码:
holder.text.setText(name + "\n" + expirience + " " + dateOfJoininf);
发布于 2012-06-11 20:11:13
假设您有一个名为etx
的TextView
。然后,您将使用以下代码:
final SpannableStringBuilder sb = new SpannableStringBuilder("HELLOO");
final StyleSpan bss = new StyleSpan(android.graphics.Typeface.BOLD); // Span to make text bold
final StyleSpan iss = new StyleSpan(android.graphics.Typeface.ITALIC); //Span to make text italic
sb.setSpan(bss, 0, 4, Spannable.SPAN_INCLUSIVE_INCLUSIVE); // make first 4 characters Bold
sb.setSpan(iss, 4, 6, Spannable.SPAN_INCLUSIVE_INCLUSIVE); // make last 2 characters Italic
etx.setText(sb);
发布于 2019-10-12 01:00:44
您可以使用core-ktx
中的Kotlin和buildSpannedString
扩展函数来完成此操作
holder.textView.text = buildSpannedString {
bold { append("$name\n") }
append("$experience $dateOfJoining")
}
发布于 2017-07-11 14:31:43
如果您不知道要加粗的文本部分之前的文本的确切长度,或者甚至不知道要加粗的文本的长度,可以很容易地使用如下HTML标签:
yourTextView.setText(Html.fromHtml("text before " + "<font><b>" + "text to be Bold" + "</b></font>" + " text after"));
https://stackoverflow.com/questions/10979821
复制相似问题