文档章节

Android之UI学习篇一:TextVeiw如何显示丰富的文本

yolinfeng
 yolinfeng
发布于 2015/02/16 00:01
字数 634
阅读 14
收藏 0

那么究竟如何来让我们的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>

本文转载自:http://blog.csdn.net/wulianghuan/article/details/8583811

共有 人打赏支持
yolinfeng
粉丝 12
博文 196
码字总数 11946
作品 0
珠海
架构师
【Android】TextView的文字长度测量及各种padding解析

这篇博客会讲得比较杂: TextView里各种padding的含义? 如何计算每行文字的长度? 设置android:maxLines="1"和android:singleLine="true"有什么区别? 为什么设置android:maxLines="1"时TextV...

猴亮屏
08/15
0
0
Android 第九课——UI 组件

组件继承关系图: 组件通用属性: 1)layoutwidth:组件的宽度,一般只有三个值wrapcontent、fillparent(老版本中使用)、matchparent,但他不是唯一控制宽度的元素 2)layoutheight:组件的...

learn_more
2015/01/05
0
1
Android必备:Activity 活动 和 Intent 意图 的学习整理

看这里:Android必备:Activity 活动 和 Intent 意图 的学习整理 在Android必备:Android UI控件的了解与学习中,对AndroidUI做了初步的了解和学习,本篇继续进行Android开发学习的整理。And...

Realfighter
2015/03/04
0
0
让你认识Android 开发简介及应用程序架构示例

如今,很多基于网络或有网络支持的设备都运行某种 Linux内核。这是一种可靠的平台:可经济有效地进行部署和提供支持,并且可直接作为面向部署的良好的设计方法。这些设备的 UI 通常是基于 HT...

sprinl
2011/07/03
0
1
Android必备:Android UI控件的了解与学习

看这里:Android必备:Android UI控件的了解与学习 由于工作需要,最近一段时间,需要进行Android App开发的学习,之前简单的进行过Android的了解,对于基本的Android环境的搭建等已经有过整...

Realfighter
2015/02/26
0
0

没有更多内容

加载失败,请刷新页面

加载更多

一个可能的NEO链上安全随机数解决方案

0x00 困境 链上安全随机数生成应该算是一个比较蛋疼的问题,哪怕你的系统再牛逼,合约程序困在小小的虚拟机里,哪怕天大的本事也施展不开。 更悲催的是,交易执行的时候,是在每一个节点都执...

暖冰
今天
1
0
【大福利】极客时间专栏返现二维码大汇总

我已经购买了如下专栏,大家通过我的二维码你可以获得一定额度的返现! 然后,再给大家来个福利,只要你通过我的二维码购买,并且关注了【飞鱼说编程】公众号,可以加我微信或者私聊我,我再...

飞鱼说编程
今天
1
0
Spring5对比Spring3.2源码之容器的基本实现

最近看了《Spring源码深度解析》,该书是基于Spring3.2版本的,其中关于第二章容器的基本实现部分,目前spring5的实现方式已有较大改变。 Spring3.2的实现: public void testSimpleLoad(){...

Ilike_Java
今天
1
0
【王阳明心学语录】-001

1.“破山中贼易,破心中贼难。” 2.“夫万事万物之理不外于吾心。” 3.“心即理也。”“心外无理,心外无物,心外无事。” 4.“人心之得其正者即道心;道心之失其正者即人心。” 5.“无...

卯金刀GG
今天
2
0
OSChina 周三乱弹 —— 我们无法成为野兽

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @ _刚刚好: 霸王洗发水这波很骚 手机党少年们想听歌,请使劲儿戳(这里) hahahahahahh @嘻酱:居然忘了喝水。 让你喝可乐的话, 你准忘不了...

小小编辑
今天
15
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部