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


Activity代码:
package com.zhou.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());    }}

更多相关文章

  1. Android(安卓)Studio 设置自动配置git忽略
  2. 利用 Android(安卓)Studio 和 Gradle 打包多版本APK
  3. android 超简单处理国际化
  4. Android:Handler消息机制(三)——Handler源码分析
  5. Unity2018下Android(安卓)SDK设置
  6. Android(安卓)开发技术周报 Issue#290
  7. Android(安卓)解析Json
  8. LinearLayout分割线
  9. android webrtc 视频旋转

随机推荐

  1. Android(安卓)线程池管理工具类
  2. android 图片全屏
  3. android判断是否连接网络
  4. android之创建快捷方式
  5. android 通话记录次数
  6. android 解析xml字符串
  7. Android(安卓)时间滚轴
  8. Android(安卓)为线程增加Looper
  9. android之activity中onSaveInstanceState
  10. Android(安卓)sd卡log日志