Android TextView中文字设置超链接、颜色、字体

TextView是用来显示文本的,有时需要给TextView中的个别字设置为超链接,或者设置个别字的颜色、字体等,那就需要用到Spannable对象,可以借助Spannable对象实现以上设置。 
效果图:

Activity代码:

import android.app.Activity;
import android.graphics.Color;
import android.os.Bundle;
import android.text.Spannable;
import android.text.SpannableString;
import android.text.Spanned;
import android.text.method.LinkMovementMethod;
import android.text.style.BackgroundColorSpan;
import android.text.style.ForegroundColorSpan;
import android.text.style.StyleSpan;
import android.text.style.URLSpan;
import android.widget.TextView;   

public class TextViewLinkActivity extends Activity {
    TextView myTextView;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        myTextView = (TextView) this.findViewById(R.id.myTextView);   

        //创建一个 SpannableString对象
        SpannableString sp = new SpannableString("这句话中有百度超链接,有高亮显示,这样,或者这样,还有斜体.");
        //设置超链接
        sp.setSpan(new URLSpan("http://www.baidu.com"), 5, 7,
                Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
        //设置高亮样式一
        sp.setSpan(new BackgroundColorSpan(Color.RED), 17 ,19,Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
        //设置高亮样式二
        sp.setSpan(new ForegroundColorSpan(Color.YELLOW),20,24,Spannable.SPAN_EXCLUSIVE_INCLUSIVE);
        //设置斜体
        sp.setSpan(new StyleSpan(android.graphics.Typeface.BOLD_ITALIC), 27, 29, Spannable.SPAN_EXCLUSIVE_INCLUSIVE);
        //SpannableString对象设置给TextView
        myTextView.setText(sp);
        //设置TextView可点击
        myTextView.setMovementMethod(LinkMovementMethod.getInstance());
    }
}
时间: 2024-08-09 17:14:58

Android TextView中文字设置超链接、颜色、字体的相关文章

Android TextView中文字通过SpannableString来设置超链接、颜色、字体等属

在Android中,TextView是我们最常用的用来显示文本的控件. 一般情况下,TextView中的文本都是一个样式.那么如何对于TextView中各个部分的文本来设置字体,大小,颜色,样式,以及超级链接等属性呢?下面我们通过SpannableString的具体实例操作来演示一下. res-layout-main.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:and

(转)Android TextView中文字通过SpannableString来设置超链接、颜色、字体等属性以及自定义链接到下一个Activity

在Android中,TextView是我们最常用的用来显示文本的控件. 一般情况下,TextView中的文本都是一个样式.那么如何对于TextView中各个部分的文本来设置字体,大小,颜色,样式,以及超级链接等属性呢?下面我们通过SpannableString的具体实例操作来演示一下. res-layout-main.xml 1 <?xml version="1.0" encoding="utf-8"?> 2 <LinearLayout xmlns

(四十八)Android TextView中文字通过SpannableString来设置超链接、颜色、字体等属性

1.程序结构图 2.MainActivity.java中的代码 package com.example.setlinkdemo; import java.io.IOException; import org.xmlpull.v1.XmlPullParserException; import android.app.Activity; import android.content.Intent; import android.content.res.ColorStateList; import a

Android TextView 实现文字大小不同和文字颜色不同

效果图如下: 关键代码如下: StringBuffer sb = new StringBuffer(); if(day > 0) { sb.append("<a href=\"1\">"); sb.append(""+day); sb.append("</a>"); sb.append(""+Global.getString(R.string.unit_Day2)); } sb

android textview xml 属性设置

 android:ems 设置TextView的宽度为N个字符的宽度. android:maxems 设置TextView的宽度为最长为N个字符的宽度.与ems同时使用时覆盖ems选项. android:minems 设置TextView的宽度为最短为N个字符的宽度.与ems同时使用时覆盖ems选项. android:maxLength 限制输入字符数.如设置为5,那么仅可以输入5个汉字/数字/英文字母. android:lines 设置文本的行数,设置两行就显示两行,即使第二行没有数据.

Android TextView自动换行文字排字参差不齐的原因及处理

Android TextView自动换行文字排版参差不齐的原因及处理 转自: TextView会自动换行,而且排版文字参差不齐.查了下资料,总结原因如下: 1.半角字符与全角字符混乱所致:这种情况一般就是汉字与数字.英文字母混用 解决方法一: 将textview中的字符全角化.即将所有的数字.字母及标点全部转为全角字符,使它们与汉字同占两个字节,这样就可以避免由于占位导致的排版混乱问题了. 半角转为全角的代码如下,只需调用即可.public static String ToDBC(String

android textView 替文字添加下划线 删除线

android textView 为文字添加下划线 删除线android textview 添加下划线 中划线 删除线tv=(TextView)findViewById(R.id.tvId);tv.getPaint().setFlags(Paint.STRIKE_THRU_TEXT_FLAG); //删除线//Paint.UNDERLINE_TEXT_FLAG 下划线 XAMARIN: TextView text = FindViewById<TextView>(Resource.Id.xxx

Android TextView中实现点击文本超链接(无下划线)的封装类

android中有的时候须要在TextView上设置一些超链接,点击这些超链接时进行一些操作.比如新浪微博上的一些keyword,点击时会跳转到对应的页面. 怎样实现我们就直接看源代码吧. /** * * created by Mr.Simple, Aug 21, 20141:51:40 PM. * Copyright (c) 2014, hehonghui@umeng.com All Rights Reserved. * * ##################################

Android TextView中展示含有html标签的文字

两个小实例: 1.服务端返回的带有html标签的文字,在textview中展示的时候,能正确的换行. 2.需要展示的下载的超链接,以文字代替,隐藏下载地址: 实现效果如下: 代码如下: package com.android.study; import android.app.Activity; import android.os.Bundle; import android.text.Html; import android.text.method.LinkMovementMethod; im