国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

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

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

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

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

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

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

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

只要我們寫好協(xié)議,這個(gè)其實(shí)也很簡(jiǎn)單。

 

tv1.setText(Html.fromHtml('<a href=’tel:18565554482’>打電話</a>,<a href=’smsto:18565554482’>發(fā)短信</a>,<a href=’mailto:584991843@qq.com’>發(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:584991843@qq.com’>發(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中設(shè)置該TextView為可點(diǎn)擊狀態(tài)即可:

tv4.setMovementMethod(LinkMovementMethod.getInstance()); 

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

關(guā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:584991843@qq.com'), 8, 11, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); ss.setSpan(new URLSpan('http://www.baidu.com'), 12, 16, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); //SpannableString對(duì)象設(shè)置給TextView tv3.setText(ss); //設(shè)置TextView可點(diǎn)擊 tv3.setMovementMethod(LinkMovementMethod.getInstance()); 5. 使用SpannableTextView實(shí)現(xiàn)(效果多樣)

設(shè)置單一效果:

// 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);

設(shè)置多重效果疊加:

// 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);

實(shí)現(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種方式實(shí)現(xiàn)Android TextView超鏈接源碼實(shí)例,更多關(guān)于Android實(shí)現(xiàn)TextView超鏈接的文章請(qǐng)查看下面的相關(guān)鏈接

標(biāo)簽: Android
相關(guān)文章:
主站蜘蛛池模板: 久久久亚洲国产精品主播 | 欧美一级xxxx俄罗斯一级 | 在线不卡一区二区三区日韩 | 老色99久久九九精品尤物 | 亚洲 [12p] | 国产v日韩v欧美v精品专区 | 日韩中文在线观看 | 日本三级网站 | 国产成人aaa在线视频免费观看 | 91热国产| 一级毛片免费 | 日本韩国一级毛片中文字幕 | 国产成人精品三区 | 特级一级全黄毛片免费 | 亚洲天堂色网站 | aaaaaa精品视频在线观看 | 亚洲美色综合天天久久综合精品 | 久草不卡视频 | 美女黄色毛片免费看 | 久久国产一区二区三区 | 91九九| 亚洲精品一区二区三区在线观看 | aaa一级| 一级毛片不收费 | 国产三级麻豆 | 久久不雅视频 | 国产成人精品免费视 | 久草在线免费看 | 亚洲美女福利视频在线 | 成年人免费在线观看网站 | freex性日韩 free性chinese国语对白 | 国产精品三 | 精品中文字幕久久久久久 | 一个人看的日本www的免费视频 | 亚洲国产精品日韩高清秒播 | 久久精品国产精品亚洲 | 免费中文字幕在线 | 亚洲欧美小视频 | 欧洲成人全免费视频网站 | 美女三级毛片 | 亚洲综合精品一区二区三区中文 |