我正在开发一个 android 应用程序,在该应用程序中我已将邮件放入文本中textView并且可以点击。我想从邮件中删除下划线。怎么做?
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="@dimen/mailnlink"
android:textColor="@color/mltext"
android:textColorLink="@color/link"
android:textStyle="italic"
android:gravity="center"
android:autoLink="email"
android:background="@color/mlb"
android:text="@string/f2"/>
Run Code Online (Sandbox Code Playgroud)
这是如何
private void stripUnderlines(TextView textView) {
Spannable s = new SpannableString(textView.getText());
URLSpan[] spans = s.getSpans(0, s.length(), URLSpan.class);
for (URLSpan span: spans) {
int start = s.getSpanStart(span);
int end = s.getSpanEnd(span);
s.removeSpan(span);
span = new URLSpanNoUnderline(span.getURL());
s.setSpan(span, start, end, 0);
}
textView.setText(s);
}
private class URLSpanNoUnderline extends URLSpan {
public URLSpanNoUnderline(String url) {
super(url);
}
@Override public void updateDrawState(TextPaint ds) {
super.updateDrawState(ds);
ds.setUnderlineText(false);
}
}
Run Code Online (Sandbox Code Playgroud)