Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android使用TextView實現無下劃線超鏈接的方法

Android使用TextView實現無下劃線超鏈接的方法

編輯:關於Android編程

本文實例講述了Android使用TextView實現無下劃線超鏈接的方法。分享給大家供大家參考,具體如下:

Android系統默認把網址、電話、地圖(geo地址)、郵箱等轉換為超鏈接。
具體請查看 android:TextView簡單設置文本樣式和超鏈接的方法

和HTML中的一樣,默認超鏈接都帶下劃線的,下面的方案可以在TextView中去掉超鏈接的下劃線:

1、重寫ClickableSpan類來去掉下劃線樣式(系統默認使用ClickableSpan來封裝超鏈接)

//無下劃線超鏈接,使用textColorLink、textColorHighlight分別修改超鏈接前景色和按下時的顏色
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); //點擊超鏈接時調用
  }
}

2、把超鏈接文本封裝為NoLineClickSpan對象,並添加到TextView中

TextView tv = findViewById(R.id.tv_click);
SpannableString spStr = new SpannableString("本站-->http://www.jb51.net");
ClickSpan clickSpan = new NoLineClickSpan(vo); //設置超鏈接
spStr.setSpan(clickSpan, 0, str.length(), Spanned.SPAN_INCLUSIVE_EXCLUSIVE);
tv.append(spStr);
tv.setMovementMethod(LinkMovementMethod.getInstance());

PS:不用把TextView的屬性autoLink設為”all”.

3、設置超鏈接為可點擊狀態

tv.setMovementMethod(LinkMovementMethod.getInstance());

PS:在NoLineClickSpan類中實現onClick()回調方法.

更多關於Android相關內容感興趣的讀者可查看本站專題:《Android開發入門與進階教程》、《Android多媒體操作技巧匯總(音頻,視頻,錄音等)》、《Android基本組件用法總結》、《Android視圖View技巧總結》、《Android布局layout技巧總結》及《Android控件用法總結》

希望本文所述對大家Android程序設計有所幫助。

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved