Android TextView部分文字加下划线和点击事件
实现t1图红色框里的样式
代码:
//联系客服字体修改和点击事件
String errorStr = scanGoodInfoErrorTv.getText().toString();
SpannableString spcontent = new SpannableString(errorStr);
//商品信息不正确,联系客服
MyClickableSpan myClickableSpan = new MyClickableSpan();
spcontent.setSpan(myClickableSpan, 8, errorStr.length(), Spanned.SPAN_INCLUSIVE_EXCLUSIVE);
scanGoodInfoErrorTv.setMovementMethod(LinkMovementMethod.getInstance()); //点击事件才能起效
scanGoodInfoErrorTv.setHighlightColor(Color.TRANSPARENT); //点击背景色,默认淡蓝色
scanGoodInfoErrorTv.setText(spcontent);
重写点击事件:
class MyClickableSpan extends ClickableSpan {
@Override
public void updateDrawState(@NonNull TextPaint ds) {
ds.setUnderlineText(true); //默认下划线,改为false无下划线
}
@Override
public void onClick(@NonNull View widget) {
//跳转联系客服
dismiss();
ToastUtil.showShort(context,"联系客服");
}
}