1.直接在xml檔案中配置autoLink屬性
autoLink屬性一共有六個值,其可選擇的屬性如下所示
- none:不比對任何類型的文字,預設為此選項。
- web:比對URL位址,單擊後打開浏覽器顯示位址。
- email:比對郵箱位址,單擊後打開郵箱發送郵件。
- phone:比對電話号碼,單擊後打開撥号界面。
- map:比對地圖位址,單擊後打開地圖選項。
- all:比對所有的格式,自動檢測web,phone,email,map四種格式。
<!-- 定義TextView标簽,加入autoLink節點值為web,text節點值為www.baidu.com -->
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:autoLink="web"
android:text="www.baidu.com" />
定義TextView标簽,加入autoLink節點值為email,text節點值為[email protected]
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:autoLink="email"
android:text="[email protected]" />
定義TextView标簽,加入autoLink節點值為phone,text值為10086
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:autoLink="phone"
android:text="15596630691" />
定義TextView标簽,加入autoLink節點值為map,text節點值為1812 Avenue K Plano,Texas 75074
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:autoLink="map"
android:text="1912 Avenue K Plano,Texas 75074" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:autoLink="all"
android:text="此處為 電話号碼,網址,地圖,郵箱" />
使用HTML語言
利用HTML語言顯示超連結
Tv.setText(Html.fromHtml("<a href='tel:15596630691'>打電話</a>,<a href='smsto:15596630691'>發短信</a>,<a href='[email protected]'>發郵件</a>,<a href='http://www.baidu.com'>Go百度</a>")); Tv.setMovementMethod(LinkMovementMethod.getInstance());
3.在strings.xml中直接寫HTML,然後在TextView的xml中直接引用即可
strings.xml中的定義如下:
<string name="Tv"><a href='tel:15596630691'>打電話</a>,
<a href='smsto:15596630691'>發短信</a>,
<a href='mailto:[email protected]'>發郵件</a>,
<a href='http://www.baidu.com'>Go百度</a></string>
TextView的XML定義如下:
<TextView
android:id="@+id/Tv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/Tv"/>
然後隻需要在Activity中設定該TextView為可點選狀态即可:
4.使用SpannableString實作超連結
關于spannableString的詳細使用參見SpannableString使用詳解,我們這裡就再次重複一下使用spannableString實作超連結功能:
SpannableString ss = new SpannableString("打電話,發短信,發郵件,Go百度");
ss.setSpan(new URLSpan("tel:15596630691"), , ,Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
ss.setSpan(new URLSpan("smsto:15596630691"), , ,Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
ss.setSpan(new URLSpan("mailto:[email protected]"), , ,Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
ss.setSpan(new URLSpan("http://www.baidu.com"), , ,Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
Tv.setText(ss);
Tv.setMovementMethod(LinkMovementMethod.getInstance());
demo下載下傳> http://download.csdn.net/detail/aiyuan1996/9597295