1. /**
  2. * 超链接
  3. */
  4. private void addUrlSpan() {
  5. SpannableString spanString = new SpannableString("超链接");
  6. URLSpan span = new URLSpan("tel:0123456789");
  7. spanString.setSpan(span, 0, 3, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
  8. tv.append(spanString);
  9. }
  10. /**
  11. * 文字背景颜色
  12. */
  13. private void addBackColorSpan() {
  14. SpannableString spanString = new SpannableString("颜色2");
  15. BackgroundColorSpan span = new BackgroundColorSpan(Color.YELLOW);
  16. spanString.setSpan(span, 0, 3, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
  17. tv.append(spanString);
  18. }
  19. /**
  20. * 文字颜色
  21. */
  22. private void addForeColorSpan() {
  23. SpannableString spanString = new SpannableString("颜色1");
  24. ForegroundColorSpan span = new ForegroundColorSpan(Color.BLUE);
  25. spanString.setSpan(span, 0, 3, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
  26. tv.append(spanString);
  27. }
  28. /**
  29. * 字体大小
  30. */
  31. private void addFontSpan() {
  32. SpannableString spanString = new SpannableString("36号字体");
  33. AbsoluteSizeSpan span = new AbsoluteSizeSpan(36);
  34. spanString.setSpan(span, 0, 5, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
  35. tv.append(spanString);
  36. }
  37. /**
  38. * 粗体,斜体
  39. */
  40. private void addStyleSpan() {
  41. SpannableString spanString = new SpannableString("BIBI");
  42. StyleSpan span = new StyleSpan(Typeface.BOLD_ITALIC);
  43. spanString.setSpan(span, 0, 2, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
  44. tv.append(spanString);
  45. }
  46. /**
  47. * 删除线
  48. */
  49. private void addStrikeSpan() {
  50. SpannableString spanString = new SpannableString("删除线");
  51. StrikethroughSpan span = new StrikethroughSpan();
  52. spanString.setSpan(span, 0, 3, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
  53. tv.append(spanString);
  54. }
  55. /**
  56. * 下划线
  57. */
  58. private void addUnderLineSpan() {
  59. SpannableString spanString = new SpannableString("下划线");
  60. UnderlineSpan span = new UnderlineSpan();
  61. spanString.setSpan(span, 0, 3, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
  62. tv.append(spanString);
  63. }
  64. /**
  65. * 图片
  66. */
  67. private void addImageSpan() {
  68. SpannableString spanString = new SpannableString(" ");
  69. Drawable d = getResources().getDrawable(R.drawable.ic_launcher);
  70. d.setBounds(0, 0, d.getIntrinsicWidth(), d.getIntrinsicHeight());
  71. ImageSpan span = new ImageSpan(d, ImageSpan.ALIGN_BASELINE);
  72. spanString.setSpan(span, 0, 1, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
  73. tv.append(spanString);
  74. }

android SpannableString使用详解的更多相关文章

  1. android:ToolBar详解

    android:ToolBar详解(手把手教程) 泡在网上的日子 发表于 2014-11-18 12:49 第 124857 次阅读 ToolBar 42 来源 http://blog.mosil.b ...

  2. Android之canvas详解

    首先说一下canvas类: Class Overview The Canvas class holds the "draw" calls. To draw something, y ...

  3. 【转】Android Canvas绘图详解(图文)

    转自:http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2012/1212/703.html Android Canvas绘图详解(图文) 泡 ...

  4. Android 核心分析 之八Android 启动过程详解

    Android 启动过程详解 Android从Linux系统启动有4个步骤: (1) init进程启动 (2) Native服务启动 (3) System Server,Android服务启动 (4) ...

  5. Android GLSurfaceView用法详解(二)

    输入如何处理       若是开发一个交互型的应用(如游戏),通常需要子类化 GLSurfaceView,由此可以获取输入事件.下面有个例子: java代码: package eoe.ClearTes ...

  6. Android编译过程详解(一)

    Android编译过程详解(一) 注:本文转载自Android编译过程详解(一):http://www.cnblogs.com/mr-raptor/archive/2012/06/07/2540359 ...

  7. android屏幕适配详解

    android屏幕适配详解 官方地址:http://developer.android.com/guide/practices/screens_support.html 一.关于布局适配建议 1.不要 ...

  8. Android.mk文件详解(转)

    源:Android.mk文件详解 从对Makefile一无所知开始,折腾了一个多星期,终于对Android.mk有了一个全面些的了解.了解了标准的Makefile后,发现Android.mk其实是把真 ...

  9. Android Studio 插件开发详解四:填坑

    转载请标明出处:http://blog.csdn.net/zhaoyanjun6/article/details/78265540 本文出自[赵彦军的博客] 在前面我介绍了插件开发的基本流程 [And ...

随机推荐

  1. jqgrid 设置为每行单选

    jqgrid 不支持单选,自己自带了多选multiselect 那么单选怎么做呢,可以参考如下配置 multiselect: true, multiboxonly:true, gridComplete ...

  2. Atitit opencv模板匹配attilax总结

    Atitit opencv模板匹配attilax总结 找一幅图像的匹配的模板,可以在一段视频里寻找出我们感兴趣的东西,比如条形码的识别就可能需要这样类似的一个工作提取出条形码区域(当然这样的方法并不鲁 ...

  3. haproxy-1.7.7 基于域名的调度配置

    配置样列: [root@c01 haproxy-1.7.7]# cat conf/haproxy.cfg global log 127.0.0.1 local0 info #[err warning ...

  4. android studio - 右键没有“New C++ Class 选项” 或 “Cannot find declaration to go to”的问题

    今天在android studio的cpp文件夹上右键,发现竟然没有了New C++ Class“的选项,如下图所示: 上图是正常情况. 下图是非正常情况. 解决方案 检查”File“-"S ...

  5. C++11 类型推导auto

    在C++11之前,auto关键字用来指定存储期.在新标准中,它的功能变为类型推断.auto现在成了一个类型的占位符,通知编译器去根据初始化代码推断所声明变量的真实类型.使用auto会拖慢c++效率吗? ...

  6. 字符测试与映射函数 ctype.h

    对于C Standard Library 可以参考:http://www.acm.uiuc.edu/webmonkeys/book/c_guide/ 或者 http://www.cplusplus.c ...

  7. linux命令(35):diff命令

    diff 命令是 linux上非常重要的工具,用于比较文件的内容,特别是比较两个版本不同的文件以找到改动的地方.diff在命令行中打印每一个行的改动.最新版本的diff还支持二进制文件.diff程序的 ...

  8. cc(self)是什么意思?

    分别找到这2句代码:   复制代码 cc(self):addComponent("components.behavior.EventProtocol"):exportMethods ...

  9. Python 操作redis有序集合(sorted set)

    #coding:utf8 import redis r =redis.Redis(host=") 1.Zadd Zadd 命令用于将一个或多个成员元素及其分数值加入到有序集当中.如果某个成员 ...

  10. Ubuntu首次安装后root权限解锁

    在ubuntu系统下,为了安全起见,在安装过程中,系统屏蔽了用户设置root用户.导致很多用户在使用过程中不知道root密码到底是什么. 可以使用如下方法解决: 先解除root锁定,为root用户设置 ...