我有以下代码,感谢@TangXianQiang 的帮助,它创建了一个紧紧包裹在 TextView 中的文本的背景:
String str="this bit of text spans more than one line.Words words words";
int bstart=0;
int bend=str.length();
SpannableStringBuilder style=new SpannableStringBuilder(str);
style.setSpan(new BackgroundColorSpan(ContextCompat.getColor(this,R.color.colorGreenTra)),bstart,bend, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
TextView tvColor=(TextView) findViewById(R.id.tv_color);
tvColor.setText(style);
在 XML 中:
<TextView
android:id="@+id/tv_color"
android:layout_width="280dp"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:text="this bit of text spans more than one line.Words words words"
/>
但是,我想在这个背景中添加 8dp 的填充,这样它就不会紧紧地拥抱文本的边缘。由于字符串生成器仅使用字符串的开头和结尾,我怎么能做到这一点?