这个问题是一个跟进我的最后一个问题: 如何突出像Android这样拼写检查的文字?
我使用的是UnderlineSpan强调在一个EditText文本,但我需要的下划线是在像拼写检查器的这个截屏颜色 :
这个问题是一个跟进我的最后一个问题: 如何突出像Android这样拼写检查的文字?
我使用的是UnderlineSpan强调在一个EditText文本,但我需要的下划线是在像拼写检查器的这个截屏颜色 :
不幸的是,你不能用跨度做到这一点完全 - 没有公共方法做你问什么。 还有就是要设置TextPaint独立文本颜色的下划线颜色的方法(你可以看到它在SuggestionSpan源代码),但它是隐藏的 。
如果你能得到的EditText上访问,您可以处理跨度,绘制强调自己,但除此之外,你的运气了。
这里是你可以用它来设置下面的文本行的颜色功能
public void addUnderLineLink(TextView mTextView) {
if (mTextView != null) {
SpannableString content = new SpannableString(mTextView.getText().toString());
UnderlineSpan us=new UnderlineSpan();
TextPaint tp=new TextPaint();
tp.setColor(ContextCompat.getColor(getContext(),R.color.white));
us.updateDrawState(tp);
content.setSpan(us, 0, mTextView.getText().toString().length(), 0);
mTextView.setText(content);
}
}
这是我如何使它工作
Spanned part_1 = Html.fromHtml(getString(R.string.part1));
Spanned part_2 = Html.fromHtml("<u><font color='#2eb6f0'>Text in blue</font></u>");
Spanned part_3 = Html.fromHtml(getString(R.string.part3));
Spanned output = (Spanned) TextUtils.concat(part_1, part_2, part_3);
textview.setText(output, TextView.BufferType.SPANNABLE);