Android---10---TextView添加链接的两种方式

在TextView中显示带Html文本

显示丰富的内容:URL、字体大小、颜色等

在TextView中预定了一些类似于HTML的标签,通过标签可以使TextView控件显示不同颜色、大小、字体的文字

<font> 设置颜色和字体

<big> 设置大号

<small> 设置小号

<i>、<b> 斜体、粗体

<a> 链接地址

<img> 图片

使用这些标签可以用Html.fromHtml方法将这些标签的字符串转换成Charsequence对象,然后在TextView中进行设置。

Charsequence为接口类型,String类型就是它的子类,它包含了字符串的所有类。

Charsequence与String的区别:Charsequence与String都能用于定义字符串,但Charsequence的值是可读可写序列,String的值是只读序列。

两种显示的方法,一种是使用带html标签的,一种是使用autolink的

第一种:使用带html标签的文本:

activity_main.xml:

  <TextView
        android:id="@+id/textview1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />

MainActivity.java:

public class MainActivity extends Activity {

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		TextView textView = (TextView) findViewById(R.id.textview1);
		String html = "<font color='red'>I love Android</font><br>";
		html += "<a href='http://www.baidu.com' ><big>百度</big></a>";
		CharSequence charSequence = Html.fromHtml(html);
		textView.setText(charSequence);
		//点击事件的响应,如果没有这个的话,点击链接没有反应
		textView.setMovementMethod(LinkMovementMethod.getInstance());
	}

}

第二种:使用autolink:

activity_main.xml:

<TextView
        android:id="@+id/textview2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:autoLink="all"/>

MainActivity.java:

public class MainActivity extends Activity {

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);

		TextView textView2 = (TextView) findViewById(R.id.textview2);
		String text = "网址:http://www.baidu.com"+"\n";
		text += "邮箱:[email protected]"+"\n";
		text += "电话:45612132" +"\n";

		textView2.setText(text);

	}

}
时间: 2024-10-13 12:29:33

Android---10---TextView添加链接的两种方式的相关文章

Android 编程下 TextView 添加链接的一种方式

原文地址:http://www.cnblogs.com/sunzn/p/3406013.html 通过如下这种方式给 TextView 添加的链接支持链接样式.点击事件.href 样式,代码如下: package cn.sunzn.tlink; import android.app.Activity; import android.os.Bundle; import android.text.Html; import android.text.Spanned; import android.te

Android提交数据到服务器的两种方式四种方法

Android应用开发中,会经常要提交数据到服务器和从服务器得到数据,本文主要是给出了利用http协议采用HttpClient方式向服务器提交数据的方法. /** * @author Dylan * 本类封装了Android中向web服务器提交数据的两种方式四种方法 */ public class SubmitDataByHttpClientAndOrdinaryWay { /** * 使用get请求以普通方式提交数据 * @param map 传递进来的数据,以map的形式进行了封装 * @p

Android解析XML文档的两种方式的简单对比

Android之所以会用到解析XML文档,不仅与JAVA对XML的解析比较简单,而且还因为XML是Android在网络间传递信息的主要存储方式.下面我简单谈谈Android对XML文档解析的两种方式:dom和sax.dom解析方式是,解析方法将一个XML文件看成是一棵树.由数据结构的知识我们知道对树的处理比较简单,就是对树的节点进行增,删,改,查,这也是dom的一个最大优点.但是,dom方式在解析的时候是一次性就将整个XML文档读进内存,这坏处不用我说了吧,我宝贵的内存是禁不起这么折腾的. sa

Android中动态添加View的两种方法

一.使用xml的方式: 1.LayoutInflater: 这个类可以把xml表述的Layout解析为View,从而可以使addView()方法添加View. 2.LayoutInflater与findViewById的区别: 两者都是实例化某一个对象,不同的是findViewById是通过找xml布局文件下的一个具体的widget控件进行实例化,而LayoutInflater是找res/layout 下的xml布局文件来实例化的. 3.使用方法: LayoutInflater inflater

android studio学习---签名打包的两种方式

注:给我们自己开发的app签名,就代表着我自己的版权,以后要进行升级,也必须要使用相同的签名才行.签名就代表着自己的身份(即keystore),多个app可以使用同一个签名. 如果不知道签名是啥意思,请自行百度哦.在eclipse中签名的方法是:选中工程,邮件选择"export-android-export android application", 1.方式1:通过Android Studio进行签名: 选中app这个module,选择菜单栏"Build-Generate

添加图片的两种方式

<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title>js练习 js是脚本语言直接运行在浏览器上的.</title> <script type="text/javascript"> function addcontent(){ document.getElementById(&q

Android 给layout设置动画的两种方式

public class MainActivity extends Activity { LinearLayout layout; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); layout = (LinearLayout) findViewById(R.id.layout); lay

js中构造函数的原型添加成员的两种方式

首先,js中给原型对象添加属性和方法. 方式一:对象的动态特效 给原型对象添加成员 语法:构造函数.prototype.方法名=function (){ } 方式二:替换原型对象(不是覆盖,而是替换,把原先的同名的直接替换成现在的) 语法:构造函数.prototype.方法名={ } tips:方式二不常用,因为这样会修改了原型本身 搜索:JS中通过构造函数添加成员方法和通过原型法添加成员方法的区别 参考网址  http://blog.csdn.net/xxmzumeng/article/det

Linux下chkconfig命令详解即添加服务以及两种方式启动关闭系统服务

chkconfig命令主要用来更新(启动或停止)和查询系统服务的运行级信息.谨记chkconfig不是立即自动禁止或激活一个服务,它只是简单的改变了符号连接. 一.chkconfig 的使用语法 1.chkconfig [--add][--del][--list][系统服务] 或 chkconfig [--level <levels等级代号>][系统服务][on/off/reset] 2.参数用法: --add 增加所指定的系统服务,让chkconfig指令得以管理它,并同时在系统启动的叙述文