Android实现TextView中文字链接的4种方式介绍及代码

Android 的实现TextView中文字链接的方式有很多种。

总结起来大概有4种:

1.当文字中出现URL、E-mail、电话号码等的时候,可以将TextView的android:autoLink属性设置为相应的的值,如 果是所有的类型都出来就是android:autoLink="all"。当然也可以在java代码里 做,textView01.setAutoLinkMask(Linkify.ALL);

2.将要处理的文字写到一个资源文件,如string.xml,然后的java代码里引用(直接写在代码了是不可行的,会直接把文字都显示处理)

3.用Html类的fromHtml()方法格式化要放到TextView里的文字

4.用Spannable或实现它的类,如SpannableString来格式,部分字符串。

最后记得加上:

复制代码 代码如下:

textView.setMovementMethod(LinkMovementMethod.getInstance());

例子:

复制代码 代码如下:

[code]

setContentView(R.layout.test);

String source = "<b><font color=#ff0000> Html View using TextView"

+ "</font></b><br><br><a href='http://www.AndroidPeople.com'>AndroidPeople.com</a>"

+ "<br><br><a href='http://www.Android.com'>Android.com</a>";

TextView textView = (TextView) findViewById(R.id.TextView01);

textView.setText(Html.fromHtml(source));

// Used to enable links in textview.

textView.setMovementMethod(LinkMovementMethod.getInstance());

或者:

复制代码 代码如下:

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

textView01.setAutoLinkMask(Linkify.ALL);

String autoLinkText = "http://student.csdn.net/?232885我的CSDN博客 ";

textView01.setText(autoLinkText);

部分连接:

复制代码 代码如下:

SpannableString ss = new SpannableString("call: 4155551212.");

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

ss.setSpan(new URLSpan("tel:4155551212"), 6, 16, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);

textView04.setText(ss);

textView04.setMovementMethod(LinkMovementMethod.getInstance());

这里只指定4155551212部分为连接而已

时间: 2024-11-06 07:11:14

Android实现TextView中文字链接的4种方式介绍及代码的相关文章

Android实现TextView中文字链接的4种方式介绍及代码_Android

 Android 的实现TextView中文字链接的方式有很多种. 总结起来大概有4种: 1.当文字中出现URL.E-mail.电话号码等的时候,可以将TextView的android:autoLink属性设置为相应的的值,如 果是所有的类型都出来就是android:autoLink="all".当然也可以在java代码里 做,textView01.setAutoLinkMask(Linkify.ALL); 2.将要处理的文字写到一个资源文件,如string.xml,然后的java代码

CSS实现的网页中文字排版的几种方式

CSS实现的网页中文字排版的几种方式!如果用得上可以直接用现成的了! 1.文字倒排(逆时针转90度)<br><br><span style="font-family:@宋体;color:red">尽人事 顺天命</span><br><br>2.文字正写竖排,中文竖排,从右往左读<br><br><div style="layout-flow: vertical-ideograp

C#中实现伪静态页面两种方式介绍_实用技巧

第一种是在页面global.asax中,相关代码如下: 复制代码 代码如下: void Application_BeginRequest(object sender, EventArgs e) { HttpContext context = ((HttpApplication)sender).Context; string oldurl = context.Request.Path.ToLower(); if ( ( oldurl.IndexOf("-") > 0 &&a

Android TextView中文字通过SpannableString设置属性用法示例_Android

本文实例讲述了Android TextView中文字通过SpannableString设置属性的方法.分享给大家供大家参考,具体如下: 在Android中,TextView是我们最常用的用来显示文本的控件. 一般情况下,TextView中的文本都是一个样式.那么如何对于TextView中各个部分的文本来设置字体,大小,颜色,样式,以及超级链接等属性呢?下面我们通过SpannableString的具体实例操作来演示一下. //创建一个 SpannableString对象 SpannableStri

android的textview中怎么自动调整添加的图片大小以适应文字大小(主要是想添加下划线)

问题描述 android的textview中怎么自动调整添加的图片大小以适应文字大小(主要是想添加下划线) android的textview中怎么自动调整添加的图片大小以适应文字大小,..如下划线,网上搜了很多但都实现不了. 1种是在textview中加一条线的图片,但是图片太长,文字只有4个字,而一条线的图片占了一整行,怎么才能将图片的长度适应文字的长度?(这个办法比较直观,所以标题就没写怎么添加下划线) android:id="@+id/tv_wangji" android:lay

android-如何改变textview中文字的间距?

问题描述 如何改变textview中文字的间距? 如题,如何改变textview中文字的间距? android:lineSpacingExtra="" 好像并没有用 解决方案 你这个是行间距 字间距是setTextScaleX 解决方案二: 你所说的是行间距,android中的textScaleX属性,可以设置textview中字体等比例的缩放,设置的值是float类型的,但是貌似不会拉大字之间的距离,你可以参考一下这篇日志,看有没有想法http://xiaxveliang.blog.

Android重写TextView实现文字整齐排版的方法(附demo源码下载)_Android

本文实例讲述了Android重写TextView实现文字整齐排版的方法.分享给大家供大家参考,具体如下: XRTextView类 package rong.android.test; import org.json.JSONArray; import org.json.JSONException; import android.content.Context; import android.graphics.Canvas; import android.graphics.Color; impor

Android重写TextView实现文字整齐排版的方法(附demo源码下载)

本文实例讲述了Android重写TextView实现文字整齐排版的方法.分享给大家供大家参考,具体如下: XRTextView类 package rong.android.test; import org.json.JSONArray; import org.json.JSONException; import android.content.Context; import android.graphics.Canvas; import android.graphics.Color; impor

android里TextView加下划线的几种方法总结

如果是在资源文件里: <resources> <string name="hello"><u>phone:0123456</u></string> <string name="app_name">MyLink</string> </resources> 如果是代码里: TextView textView = (TextView)findViewById(R.id.tv_t