Android使用TextView實(shí)現(xiàn)無(wú)下劃線超鏈接的方法
本文實(shí)例講述了Android使用TextView實(shí)現(xiàn)無(wú)下劃線超鏈接的方法。分享給大家供大家參考,具體如下:
Android系統(tǒng)默認(rèn)把網(wǎng)址、電話、地圖(geo地址)、郵箱等轉(zhuǎn)換為超鏈接。
具體請(qǐng)查看 android:TextView簡(jiǎn)單設(shè)置文本樣式和超鏈接的方法
和HTML中的一樣,默認(rèn)超鏈接都帶下劃線的,下面的方案可以在TextView中去掉超鏈接的下劃線:
1、重寫ClickableSpan類來(lái)去掉下劃線樣式(系統(tǒng)默認(rèn)使用ClickableSpan來(lái)封裝超鏈接)
//無(wú)下劃線超鏈接,使用textColorLink、textColorHighlight分別修改超鏈接前景色和按下時(shí)的顏色
private class NoLineClickSpan extends ClickableSpan {
String text;
public NoLineClickSpan(String text) {
super();
this.text = text;
}
@Override
public void updateDrawState(TextPaint ds) {
ds.setColor(ds.linkColor);
ds.setUnderlineText(false); //去掉下劃線
}
@Override
public void onClick(View widget) {
processHyperLinkClick(text); //點(diǎn)擊超鏈接時(shí)調(diào)用
}
}
2、把超鏈接文本封裝為NoLineClickSpan對(duì)象,并添加到TextView中
TextView tv = findViewById(R.id.tv_click);
SpannableString spStr = new SpannableString("腳本之家-->http://www.dhdzp.com");
ClickSpan clickSpan = new NoLineClickSpan(vo); //設(shè)置超鏈接
spStr.setSpan(clickSpan, 0, str.length(), Spanned.SPAN_INCLUSIVE_EXCLUSIVE);
tv.append(spStr);
tv.setMovementMethod(LinkMovementMethod.getInstance());
PS:不用把TextView的屬性autoLink設(shè)為”all”.
3、設(shè)置超鏈接為可點(diǎn)擊狀態(tài)
tv.setMovementMethod(LinkMovementMethod.getInstance());
PS:在NoLineClickSpan類中實(shí)現(xiàn)onClick()回調(diào)方法.
更多關(guān)于Android相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Android開(kāi)發(fā)入門與進(jìn)階教程》、《Android多媒體操作技巧匯總(音頻,視頻,錄音等)》、《Android基本組件用法總結(jié)》、《Android視圖View技巧總結(jié)》、《Android布局layout技巧總結(jié)》及《Android控件用法總結(jié)》
希望本文所述對(duì)大家Android程序設(shè)計(jì)有所幫助。
相關(guān)文章
Android實(shí)現(xiàn)簡(jiǎn)易瀏覽器遇到問(wèn)題的解決方法
這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)簡(jiǎn)易瀏覽器遇到的一系列問(wèn)題的解決方法,感興趣的小伙伴們可以參考一下2016-06-06
android開(kāi)發(fā)教程之獲取power_profile.xml文件的方法(android運(yùn)行時(shí)能耗值)
在Android手機(jī)中,對(duì)于手機(jī)中的每個(gè)部件(cpu、led、gps、3g等等)運(yùn)行時(shí)對(duì)應(yīng)的能耗值都放在power_profile.xml文件中2014-02-02
android開(kāi)發(fā)教程之使用looper處理消息隊(duì)列
這篇文章主要介紹了通過(guò)HandlerThread對(duì)象來(lái)實(shí)現(xiàn)使用looper處理消息隊(duì)列的功能,大家參考使用吧2014-01-01
Android實(shí)現(xiàn)LED發(fā)光字效果
這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)LED發(fā)光字效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-03-03
Android自動(dòng)填充短信驗(yàn)證碼功能(demo)
在項(xiàng)目開(kāi)發(fā)中為了給用戶帶來(lái)極好的體驗(yàn)效果,通常需要實(shí)現(xiàn)驗(yàn)證碼的自動(dòng)填充功能,怎么實(shí)現(xiàn)呢?今天小編給大家分享Android自動(dòng)填充短信驗(yàn)證碼功能的實(shí)現(xiàn)方法,需要的朋友參考下吧2017-02-02
Android實(shí)現(xiàn)高德地圖首頁(yè)效果(上)
這篇文章主要為大家詳細(xì)介紹了基于Android實(shí)現(xiàn)高德地圖首頁(yè)效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2023-08-08
Android嵌套滾動(dòng)NestedScroll的實(shí)現(xiàn)了解一下
嵌套滾動(dòng)已經(jīng)算一個(gè)比較常見(jiàn)的特效了,這篇文章主要介紹了Android嵌套滾動(dòng)NestedScroll的實(shí)現(xiàn)了解一下,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-06-06
Android Studio開(kāi)發(fā)環(huán)境搭建教程詳解
android studio是最近比較火的開(kāi)發(fā),那么android studio開(kāi)發(fā)環(huán)境怎么搭建呢?下面通過(guò)本文給大家記錄下Android Studio開(kāi)發(fā)環(huán)境搭建教程詳解,需要的朋友參考下吧2017-11-11
Android的Service應(yīng)用程序組件基本編寫方法
Service是一個(gè)android 系統(tǒng)中的應(yīng)用程序組件,它跟Activity的級(jí)別差不多,但是他沒(méi)有圖形化界面,不能自己運(yùn)行,只能后臺(tái)運(yùn)行,Service通常用來(lái)處理一些耗時(shí)比較長(zhǎng)的操作2012-12-12

