可以使用 SpannableStringBuilder 实现将图标插入到文本中,如下所示:
TextView textView = findViewById(R.id.text_view);
String text = "这是一段文本,最后一个单词旁边应该有一个图标";
SpannableStringBuilder builder = new SpannableStringBuilder(text);
Drawable icon = getResources().getDrawable(R.drawable.icon);
icon.setBounds(0, 0, icon.getIntrinsicWidth(), icon.getIntrinsicHeight());
builder.setSpan(new ImageSpan(icon), text.lastIndexOf(" ") + 1, text.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
textView.setText(builder);
其中,构造 SpannableStringBuilder 对象后,使用 setSpan 方法将 ImageSpan 插入到文本中,ImageSpan 的第一个参数为 Drawable 对象,表示要插入的图标,第二个参数为文本中图标要插入的起始位置,第三个参数为文本中图标要插入的结束位置。
注意,上述代码中的 icon 需要在 res/drawable 目录下放置一张图片,取名为 icon.png。
∠