亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術文章
文章詳情頁

Android開發(fā)實現(xiàn)TextView超鏈接5種方式源碼實例

瀏覽:44日期:2022-09-26 09:37:06

Android實現(xiàn)TextView超鏈接一共有五種方式:推薦第四種、第五種

1. 直接在xml文件中配置autoLink屬性(簡單易用,效果單一)

autoLink屬性一共有六個值,分別是none(正常),web(將文本識別為一個網(wǎng)址),phone(將文本識別為一個電話號碼),mail(將文本識別為一個郵件地址),map(這個,呃,該怎么表述呢?會打開地圖應用),all(根據(jù)文本自動識別)。一般情況下我們設置為all即可,我們看看,這個時候它就會自動將TextView中的電話號碼、郵件地址、網(wǎng)頁鏈接等識別出來,這中方式是最簡單的一種。如:

<TextView android:layout_width='fill_parent' android:layout_height='wrap_content' android:autoLink='all' android:text=' android:textSize='16dp' />2. 使用HTML語言

我們知道TextView可以直接顯示轉換后的HTML,那么借助H5開發(fā)經(jīng)驗,我們知道網(wǎng)頁中的超鏈接也可以在TextView中打開,如下:

只要我們寫好協(xié)議,這個其實也很簡單。

 

tv1.setText(Html.fromHtml('<a href=’tel:18565554482’>打電話</a>,<a href=’smsto:18565554482’>發(fā)短信</a>,<a href=’mailto:[email protected]’>發(fā)郵件</a>,<a href=’http://www.baidu.com’>Go百度</a>')); tv1.setMovementMethod(LinkMovementMethod.getInstance()); 3. 在strings.xml中直接寫HTML,然后在TextView的xml中直接引用即可(跟第二種方法差不多)

strings.xml中的定義如下:

<string name='tv4'><a href=’tel:18565554482’>打電話</a>,<a href=’smsto:18565554482’>發(fā)短信</a>,<a href=’mailto:[email protected]’>發(fā)郵件</a>,<a href=’http://www.baidu.com’>Go百度</a></string>

TextView的XML定義如下:

<TextView android: android:layout_width='match_parent' android:layout_height='48dp' android:gravity='center' android:text='@string/tv4' android:textSize='24sp' > </TextView>

然后只需要在Activity中設置該TextView為可點擊狀態(tài)即可:

tv4.setMovementMethod(LinkMovementMethod.getInstance()); 

4. 使用SpannableString實現(xiàn)超鏈接(效果多樣)

關于SpannableString的更多使用,參見另一篇:

SpannableString ss = new SpannableString('打電話,發(fā)短信,發(fā)郵件,Go百度'); ss.setSpan(new URLSpan('tel:18565554482'), 0, 3, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); ss.setSpan(new URLSpan('smsto:18565554482'), 4, 7, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); ss.setSpan(new URLSpan('mailto:[email protected]'), 8, 11, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); ss.setSpan(new URLSpan('http://www.baidu.com'), 12, 16, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); //SpannableString對象設置給TextView tv3.setText(ss); //設置TextView可點擊 tv3.setMovementMethod(LinkMovementMethod.getInstance()); 5. 使用SpannableTextView實現(xiàn)(效果多樣)

設置單一效果:

// Setup single spanSpannableTextView tv1 = (SpannableTextView) view.findViewById(R.id.tv1); Span span1 = new Span.Builder('ForegroundSpan, BackgroundSpan, and CustomTypefaceSpan').foregroundColor(R.color.purple_500).backgroundColor(R.color.green_500).typeface(mItalicFont).build(); tv1.setFormattedText(span1);

設置多重效果疊加:

// Setup multiple spansSpannableTextView tv2 = (SpannableTextView) view.findViewById(R.id.tv2); List<Span> spans1 = new ArrayList<>();spans1.add(new Span.Builder('ForegroundSpan') .foregroundColor(R.color.red_500) .build());spans1.add(new Span.Builder('BackgroundSpan') .backgroundColor(R.color.yellow_500) .build());spans1.add(new Span.Builder('ForegroundSpan and BackgroundSpan') .foregroundColor(R.color.orange_500) .backgroundColor(R.color.blue_500) .build());spans1.add(new Span.Builder('ForegroundSpan, BackgroundSpan, and CustomTypefaceSpan') .foregroundColor(R.color.green_500) .backgroundColor(R.color.indigo_500) .typeface(mRegularFont) .build()); tv2.setFormattedText(spans1);

實現(xiàn)無下劃線超鏈接:

自定義的urlspan 繼承URLSpan 去掉下劃線

//自定義urlspan 去掉下劃線 public class URLSpanNoUnderline extends URLSpan { public URLSpanNoUnderline(String url) { super(url); } @Override public void updateDrawState(TextPaint ds) { super.updateDrawState(ds); ds.setUnderlineText(false); ds.setColor(Color.BLACK); } }

本文主要為大家介紹了5種方式實現(xiàn)Android TextView超鏈接源碼實例,更多關于Android實現(xiàn)TextView超鏈接的文章請查看下面的相關鏈接

標簽: Android
相關文章:
主站蜘蛛池模板: 国产最新自拍视频 | 免费黄色短视频 | 日韩国产欧美在线观看一区二区 | 亚洲三级黄色片 | 女人精69xxxxx免费无毒 | 成人精品一级毛片 | 国产综合久久久久 | 国产a级毛片 | 久夜色精品国产一区二区三区 | 免费看黄色大片 | 亚洲欧美在线观看91偷拍 | 欧美一区二区三区视频在线观看 | 中文字幕在线永久在线视频2020 | 免费看污污网站 | aa毛片| 国产成人盗拍精品免费视频 | 亚洲国产精品成人午夜在线观看 | fc2成人免费人成在线观看播放 | 久久综合久久综合久久综合 | 99欧美| 国产丝袜第一页 | 亚洲伦理久久 | 91视频丝瓜 | 中国一级特黄真人毛片免 | 国产一国产一有一级毛片 | 黄色三级网站在线观看 | 久久精品国产精品亚洲人人 | 亚洲视频污 | 久久综合中文字幕 | 精品国产女同疯狂摩擦2 | 成人精品视频 成人影院 | 日本在线观看免费看片 | 人人狠狠综合久久亚洲 | 俄罗斯小younv另类 | 92看片淫黄大片看国产片 | 网址在线观看 | 欧美一区二区三区成人看不卡 | 91精品国产91久久久久久 | 曰韩欧美 | 在线国产一区二区三区 | 黄大片日本一级在线a |