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. 转:CentOS 6.x 挂载读写NTFS分区(fuse-ntfs-3g)

    from: http://mtd527.blog.163.com/blog/static/222723720151208127898/ 运行环境:CentOS 6.6  x64版本 CentOS不像F ...

  2. schema的作用

    1,如果schema中定义的字段类型和数据库中该字段存储值的类型不一致(可以不定义,但定义的时候类型必须一致),则该字段查找不到,mongoose不会返回该字段的数据 2,如果数据库中有字段a,而sc ...

  3. query compiler

    https://db.in.tum.de/teaching/ws1415/queryopt/chapter3.pdf?lang=de pi3.informatik.uni-mannheim.de/~m ...

  4. 每日英语:China to Move Slowly on One-Child Law Reform

    BEIJING—China's family-planning agency is projecting a slow rollout for an easing of its one-child p ...

  5. 运行Virtualbox去安装系统时出错:Failed to open a session for the virtual machine,Unable to load R3 module xxxx/VBoxDD.DLL(VBoxDD)

    貌似看到不少人(1,2,3),在使用Virtualbox去安装系统时,都遇到这个错误: 比如这里遇到的: 截图: 和另外这里的截图: 加文字描述: Failed to open a session f ...

  6. DIOCP3-DIOCP1升级到DIOCP3

    DIOCP3兼容DIOCP1的,有些属性做了修改 DIOCP3, uIOCPConsole没有了, uMemPool没有了 1.DIOCP1,代码:   DIOCP3中去掉TIOCPContextFa ...

  7. js设置滚动条定位到所属容器的最底部

    $('.help-gundongtiao').scrollTop($('.help-gundongtiao')[0].scrollHeight);

  8. 从事务隔离级别谈到Hibernate乐观锁,悲观锁

    数据库的事务,是指作为单个逻辑工作单元执行的一系列操作. 事务处理可以确保除非事务性单元内的所有操作都成功完成,否则不会永久更新面向数据的资源.通过将一组相关操作组合为一个要么全部成功要么全部失败的单 ...

  9. A. Counterexample (Codeforces Round #275(div2)

    A. Counterexample time limit per test 1 second memory limit per test 256 megabytes input standard in ...

  10. maprduce 中reduce数量

    @Override public int getPartition(Text key, FlowBean value, int numPartitions) { String prefix = key ...