Android 中TextView 添加超連結

來源:互聯網
上載者:User

1、 使用android:autoLink="all" 只需在TextView中加入這個屬性,而在TextView裡面寫的文字中包含網址、電話、email的會自動加入串連地址。 

如: 

<TextView xmlns:android="http://schemas.android.com/apk/res/android" 

android:id="@+id/text1" 

android:layout_width="match_parent" 

android:layout_height="match_parent"

android:autoLink="all" 

android:text="@string/link_text_auto"

/> 

2、 使用<string name=””><a href=””></a></string>標籤,建立超連結:

如: 

<string name="link_text_manual"><b>text2:</b> This is some other 

text, with a <a href="http://www.google.com">link</a> specified 

via an <a> tag.  Use a \"tel:\" URL 

to <a href="tel:4155551212">dial a phone number</a>. 

</string> 

別忘了 

TextView t2 = (TextView) findViewById(R.id.text2); 

t2.setMovementMethod(LinkMovementMethod.getInstance()); 

3、 在java檔案中使用HTML語言:

如:

TextView t3 = (TextView) findViewById(R.id.text3); 

t3.setText(Html.fromHtml("<b>text3:</b>Text with a " 

+ "<a href=\"http://www.google.com\">link</a> " 

+ "created in the Java source code using HTML.")); 

t3.setMovementMethod(LinkMovementMethod.getInstance()); 

4、 字串截取方法 

SpannableString ss = new SpannableString("text4: Click here to dial the phone."); 

ss.setSpan(new StyleSpan(Typeface.BOLD), 0, 6, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); 

ss.setSpan(

new URLSpan("tel:4155551212"),13, 17, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); 

TextView t4 = (TextView) findViewById(R.id.text4); 

t4.setText(ss); 

t4.setMovementMethod(LinkMovementMethod.getInstance()); 

5、 Android中我們為了實現文本的滾動可以在ScrollView中嵌入一個TextView,其實TextView自己也可以實現多行滾動的,畢竟ScrollView必須只能有一個直接的子類布局。只要在layout中簡單設定幾個屬性就可以輕鬆實現 

  <TextView  

    android:id="@+id/tvCWJ"  

    android:layout_width="fill_parent"  

    android:layout_height="wrap_content"  

    android:scrollbars="vertical"   <!--垂直捲軸 --> 

    android:singleLine="false"       <!--實現多行 --> 

    android:maxLines="15"            <!--最多不超過15行 --> 

    android:textColor="#FF0000" 

  />  

   當然我們為了讓TextView動起來,還需要用到TextView的setMovementMethod方法設定一個滾動執行個體,代碼如下 

TextView tvAndroid123 = (TextView)findViewById(R.id.tvCWJ);   

tvAndroid123.setMovementMethod(ScrollingMovementMethod.getInstance()); 

ad_link = (TextView) findViewById(R.id.ad_link);   

ad_link.setText(Html.fromHtml("<a href="\"mce_href="\"""+mURL.getLink()+"\">"+Html.fromHtml(mURL.getLabel()+"</a>")));   

ad_link.setMovementMethod(LinkMovementMethod.getInstance());

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.