相信大家必定都知道TextView主要是在android中实现文字说明等功能,那么TextView能否显示更加丰富的文本,如URL、字体大小、颜色这些,答案是肯定的!

那么究竟如何来让我们的TextView显示的内容更加丰富多彩呢,这一篇来跟大家一起探讨一下:

首先呢,大家要知道的是,我们网页里能够显示多样性的文字,都归功与HMTL标签对吧,其实在Android的TextView中也预定了一些类似HTML的标签,通过标签可以使TextView控件显示不同颜色、大小、字体的文字:

<font>:设置颜色和字体

<big>:设置大号

<small>:设置小号

<i>\<b>:分别是斜体和粗体

<a>:链接地址

<img>:插入图片

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

如果想在显示的文本中将URL地址、邮箱地址、电话产生超链接的效果,可以使用android:autoLink来设置,该属性的规则如下:

属性值 描述

None 不匹配任何链接(默认)

web 网址

email 邮箱

phone 电话号码

map 匹配映射网址

all 匹配所有链接


下面通过一个实例来讲解一下如何灵活使用这些标签:

实现的丰富文字TextView截图:



点击"百度"文字链接之后,打开了浏览器并跳转到了百度网址,截图如下:



点击电话号码"+86148998943"之后弹出了拨打电话的界面,截图:



代码如下:

TextViewActivity.java

public class Android_TextviewActivity extends Activity {private TextView textView1;private TextView textView2;    @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.main);        /*         * 实现在TextView中显示URL、不同大小、字体、颜色的文本         * */        textView1=(TextView)findViewById(R.id.textview1);        textView2=(TextView)findViewById(R.id.textview2);        //添加一段html的标示        String html="<font color='red'>I love Android</font><br>";        html+="<font color='#00ff00'><big><i> I love Android </i></big></font><p>";        html+="<big><a href='http://www.baidu.com'>百度</a></big>";        CharSequence charSequence=Html.fromHtml(html);        textView1.setText(charSequence);        //点击的时候产生超链接        textView1.setMovementMethod(LinkMovementMethod.getInstance());        String text="我的URL:http://www.sina.com\n";//这里的\n是换行符        text+="我的Email:mrwujay@163.com\n";        text+="我的电话:+86148998933";        textView2.setText(text);        textView2.setMovementMethod(LinkMovementMethod.getInstance());    }    }

main.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="fill_parent"    android:layout_height="fill_parent"    android:orientation="vertical" >    <TextView        android:layout_width="fill_parent"        android:layout_height="wrap_content"        android:id="@+id/textview1"        android:padding="20sp"/>         <TextView        android:layout_width="fill_parent"        android:layout_height="wrap_content"        android:id="@+id/textview2"        android:padding="20sp"        android:autoLink="all"        android:textSize="20sp"        android:text="@string/link_text"/></LinearLayout>


更多相关文章

  1. mybatisplus的坑 insert标签insert into select无参数问题的解决
  2. Android图形显示系统——下层显示4:图层合成上(合成原理与3D合成)
  3. Android(安卓)中如何将带有html格式的文章转换成能在Android中显
  4. android:layout_marginLeft指该控件距离边父控件的边距, android:
  5. Android(安卓)Studio系列教程二--基本设置与运行
  6. 关于ContentProvider的设置问题
  7. android自定义带图片的title
  8. android:windowSoftInputMode属性使用
  9. android中怎么获得所有应用程序的快捷方式

随机推荐

  1. c++ for Android(安卓)----- ndk 编译链
  2. 删除Android包
  3. android 模拟器 获取gps 值
  4. V8 android 测试
  5. android清除指定堆栈中某个activity
  6. android webview点击返回键返回上一级act
  7. Android(安卓)dex2jar反编译失败
  8. android下实现程序不操作一段时间,执行另
  9. android跳转到应用市场进行软件评论和评
  10. android 用ExpandableListView实现的文件