欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Android使用TextView實(shí)現(xiàn)無(wú)下劃線超鏈接的方法

 更新時(shí)間:2016年08月11日 10:12:19   作者:llyofdream  
這篇文章主要介紹了Android使用TextView實(shí)現(xiàn)無(wú)下劃線超鏈接的方法,結(jié)合實(shí)例形式分析了Android中TextView超鏈接去除下劃線的相關(guān)實(shí)現(xiàn)技巧與注意事項(xiàng),需要的朋友可以參考下

本文實(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、重寫(xiě)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.dbjr.com.cn");
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)文章

最新評(píng)論