1. 程式人生 > >android 給TextView新增下劃線

android 給TextView新增下劃線

package com.example.textviewbottomline;


import android.app.Activity;
import android.graphics.Color;
import android.graphics.Paint;
import android.os.Bundle;
import android.text.Html;
import android.text.Spannable;
import android.text.SpannableString;
import android.text.SpannableStringBuilder;
import android.text.Spanned;
import android.text.method.LinkMovementMethod;
import android.text.style.ForegroundColorSpan;
import android.text.style.URLSpan;
import android.text.style.UnderlineSpan;
import android.text.util.Linkify;
import android.widget.TextView;


public class MainActivity extends Activity {
private TextView text_view0, text_view1, text_view2, text_view3, text_view4;


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
text_view0 = (TextView) findViewById(R.id.text_view0);
text_view1 = (TextView) findViewById(R.id.text_view1);
text_view2 = (TextView) findViewById(R.id.text_view2);
text_view3 = (TextView) findViewById(R.id.text_view3);
text_view4 = (TextView) findViewById(R.id.text_view4);


text_view0.setAutoLinkMask(Linkify.ALL);


text_view1.setText(Html.fromHtml("<u>李易峰</u>"));


text_view2.getPaint().setFlags(Paint.UNDERLINE_TEXT_FLAG);
// 設定抗鋸齒
text_view2.getPaint().setAntiAlias(true);


String str = "趙麗穎";
SpannableString spannableString = new SpannableString(str);
spannableString.setSpan(new UnderlineSpan(), 0, str.length(), 0);
text_view3.setText(spannableString);


text_view4.setText(Html.fromHtml("<a href=\"http://www.baidu.com\">百度</a>"));
// 在單擊連結時凡是有要執行的動作,都必須設定MovementMethod物件
text_view4.setMovementMethod(LinkMovementMethod.getInstance());
CharSequence text = text_view4.getText();
if (text instanceof Spannable) {
int end = text.length();
Spannable sp = (Spannable) text_view4.getText();
URLSpan[] urls = sp.getSpans(0, end, URLSpan.class);
SpannableStringBuilder style = new SpannableStringBuilder(text);
style.clearSpans();
for (URLSpan url : urls) {
URLSpan myURLSpan = new URLSpan(url.getURL());
style.setSpan(myURLSpan, sp.getSpanStart(url), sp.getSpanEnd(url), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
style.setSpan(new ForegroundColorSpan(Color.MAGENTA), 0, text.length(),
Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); // 設定前景色為洋紅色
}
text_view4.setText(style);
}
}


}

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context=".MainActivity" >


    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/hello_world"
        android:textColor="#3366cc"
        android:textSize="30sp" />


    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:autoLink="all"
        android:text="http://www.baidu.com"
        android:textColor="#3366cc"
        android:textSize="30sp" />


    <TextView
        android:id="@+id/text_view0"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:autoLink="all"
        android:text="http://www.baidu.com"
        android:textColor="#3366cc"
        android:textSize="30sp" />


    <TextView
        android:id="@+id/text_view1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="李易峰"
        android:textColor="#3366cc"
        android:textSize="30sp" />


    <TextView
        android:id="@+id/text_view2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="楊紫"
        android:textColor="#3366cc"
        android:textSize="30sp" />


    <TextView
        android:id="@+id/text_view3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="趙麗穎"
        android:textColor="#3366cc"
        android:textSize="30sp" />


    <TextView
        android:id="@+id/text_view4"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="唐藝昕"
        android:textColor="#3366cc"
        android:textSize="30sp" />


</LinearLayout>