- 创建对象
SpannableStringBuilder spannableStringBuilder = new SpannableStringBuilder();
- 把需要处理的字符创添加到
SpannableStringBuilder
处理spannableStringBuilder.append(findFavoriteText)
- 通过builder的setSpan方法实现事件处理,onClick处理处理文字的点击事件,updateDrawState处理文字效果,通过setUnderlineText来取消下划线,start为处理文字的起始位置,end为末位;
-
@Override public void onClick(@NonNull View view) { Toast.makeText(getContext(), "别点我", Toast.LENGTH_SHORT).show(); Log.d(TAG, "onClick: "); } @Override public void updateDrawState(@NonNull TextPaint ds) { super.updateDrawState(ds); ds.setColor(getResources().getColor(R.color.radio_color_1AA9FF)); ds.setUnderlineText(false); }
}, start, end, 0);