总有些细节设计总监总是揪着不放,做的app中有个textview牵扯到了url链接,但是老大的意思是不能存在下划线:
代码如下:
String msg = "*注册即代表同意《用户协议》"; SpannableString smp = new SpannableString(msg); ClickableSpan clickableSpan = new ClickableSpan() { @Override public void onClick(View widget) { startActivity(new Intent(UserRegisterActivity.this, UserProtocolActivity.class)); } @Override public void updateDrawState(TextPaint ds) { ds.setUnderlineText(false); // super.updateDrawState(ds); } } ; //设置点击 smp.setSpan(clickableSpan, msg.indexOf("《") + 1, msg.lastIndexOf("》"), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); //设置前景色 smp.setSpan(new ForegroundColorSpan(Color.parseColor("#0AC3BC")), msg.indexOf("《"), msg.lastIndexOf("》") + 1, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); //设置tv tv_introduce.setText(smp); tv_introduce.setMovementMethod(LinkMovementMethod.getInstance());
主要是重写
updateDrawState(TextPaint tp)
方法,将setUnderLineText()设置为false即可。