先看效果图

  • 上图其实就一TextView的展示内容,如何做到?

代码实现

TextView tv = (TextView) findViewById(R.id.text_view);        SpannableString ss = new SpannableString(                "红色打电话斜体删除线绿色下划线图片:.蓝色背景1234567890abcdefghijklnopqrstuvwxyz");        // 用颜色标记文本        ss.setSpan(new ForegroundColorSpan(Color.RED), 0, 2,        // setSpan时需要指定的 flag,Spanned.SPAN_EXCLUSIVE_EXCLUSIVE(前后都不包括).                Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);        // 用超链接标记文本        ss.setSpan(new URLSpan("tel:10086"), 2, 5,                Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);        // 用样式标记文本(斜体)        ss.setSpan(new StyleSpan(Typeface.BOLD_ITALIC), 5, 7,                Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);        // 用删除线标记文本        ss.setSpan(new StrikethroughSpan(), 7, 10,                Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);        // 用下划线标记文本        ss.setSpan(new UnderlineSpan(), 10, 16,                Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);        // 用颜色标记        ss.setSpan(new ForegroundColorSpan(Color.GREEN), 10, 12,                Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);        // 获取Drawable资源        Drawable d = getResources().getDrawable(R.drawable.ic_launcher);        d.setBounds(0, 0, d.getIntrinsicWidth(), d.getIntrinsicHeight());        // 创建ImageSpan        ImageSpan span = new ImageSpan(d, ImageSpan.ALIGN_BASELINE);        // 用ImageSpan替换文本        ss.setSpan(span, 18, 19, Spannable.SPAN_INCLUSIVE_EXCLUSIVE);        // 用蓝色背景标记文本        ss.setSpan(new BackgroundColorSpan(Color.BLUE), 19, 23,                Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);        // 用缩放x来标记        ss.setSpan(new ScaleXSpan(3), 23, 29,                Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);        // 用上标来标记        ss.setSpan(new SuperscriptSpan(), 29, 35,                Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);        // 用下标来标记        ss.setSpan(new SubscriptSpan(), 35, 38,                Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);        // 用相对大小来标记        ss.setSpan(new RelativeSizeSpan(3), 38, 40,                Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);        // many other        // TODO        // 文本设置        tv.setText(ss);

参考链接

  • http://developer.android.com/reference/android/text/style/package-summary.html
  • http://blog.csdn.net/lovexjyong/article/details/17021235

更多相关文章

  1. 为什么要学习 Markdown?究竟有什么用?
  2. Android(安卓)测量文字宽高
  3. 11月28号
  4. Android——EditText自定义边框、圆角和其常用属性总结
  5. Android使用StaticLayout实现文本绘制自动换行
  6. Android(安卓)PreferenceScreen和CheckBoxPreference的用法
  7. Android(安卓)更改键盘Enter键文字
  8. java 语音
  9. android中TextView分段显示不同颜色,字体,时间

随机推荐

  1. Android 读取网络数据
  2. 一个android日历(开源的)
  3. Android 3.2 Platform 发布
  4. android_m2repository_rxx.zip下载地址以
  5. Android弹出软键盘工具类
  6. Android View转换成图片保存
  7. android之布局LinearLayout
  8. android java 3des加密 ECB/CBC
  9. Android Themes关于totalBar总结
  10. Android五子连珠