本文共 2452 字,大约阅读时间需要 8 分钟。
1. xml设置android:autoLink,包括以下参数,其中:all自动识别类
android:autoLink="all"
android:autoLink="none"
android:autoLink="web"
android:autoLink="email"
android:autoLink="phone"
android:autoLink="map"
2.代码设置
tv1.setAutoLinkMask(Linkify.ALL);
tv1.setAutoLinkMask(Linkify.WEB_URLS); tv1.setAutoLinkMask(Linkify.EMAIL_ADDRESSES); tv1.setAutoLinkMask(Linkify.PHONE_NUMBERS); tv1.setAutoLinkMask(Linkify.MAP_ADDRESSES);将显示内容写到资源文件,一般为String.xml中,并且用<a>标签来声明链接,然后 setMovementMethod()激活链接
用Html类的fromHtml()方法格式化要放到TextView里的文字。然后 setMovementMethod()激活链接
用Spannable或实现它的类,如SpannableString。与其他方法不同的是,Spannable对象可以为个别字符设置链接(当然也可以为个别字符设置颜色、字体等,实现某些字符高亮显示的效果等)。然后 setMovementMethod()激活链
public class MainActivity extends BaseActivity{ @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.set_m_m); //1 //xml设置autoLink //autoLink="none" 普通文本 //autoLink="phone" 电话 //autoLink="all" 自动识别 TextView tv1= (TextView) findViewById(R.id.tv1); //tv1.setText("百度:https://m.baidu.com/"); //tv1.setText("电话:15555555555"); tv1.setText("百度:https://m.baidu.com/"); //代码设置 //tv1.setAutoLinkMask(Linkify.ALL); //tv1.setAutoLinkMask(Linkify.WEB_URLS); //tv1.setAutoLinkMask(Linkify.EMAIL_ADDRESSES); //tv1.setAutoLinkMask(Linkify.PHONE_NUMBERS); //tv1.setAutoLinkMask(Linkify.MAP_ADDRESSES); //2. 将显示内容写到String.xml中 TextView tv2= (TextView) findViewById(R.id.tv2); tv2.setMovementMethod(LinkMovementMethod.getInstance());//激活链接 //3. 用Html类的fromHtml()方法 TextView tv3= (TextView) findViewById(R.id.tv3); tv3.setText(Html.fromHtml( "百度:" + "点击跳转百度 ") ); tv3.setMovementMethod(LinkMovementMethod.getInstance());//激活链接 //4. Spannable TextView tv4= (TextView) findViewById(R.id.tv4); SpannableString ss = new SpannableString("百度: 点击跳转百度"); ss.setSpan(new URLSpan("http://m.baidu.com"), 7, 18, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);//设置4~18为网站链接 tv4.setText(ss); tv4.setMovementMethod(LinkMovementMethod.getInstance());//激活链接 }}
百度: 点击跳转百度!
转载地址:http://kfcgi.baihongyu.com/