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 Text文字详解

    Android Text文字详解 1.绘制文字 1.1 普通绘写文字 1.2 单独指定每个文字的位置 1.3 沿路径绘写文字 2.字体样式 2.1 Paint相关样式 2.2 Typeface字体样式 ...

  2. 《Android游戏开发详解》——第1章,第1.6节函数(在Java中称为“方法”更好)...

    本节书摘来自异步社区<Android游戏开发详解>一书中的第1章,第1.6节函数(在Java中称为"方法"更好),作者 [美]Jonathan S. Harbour,更 ...

  3. JMessage Android 端开发详解

    JMessage Android 端开发详解 目前越来越多的应用会需要集成即时通讯功能,这里就为大家详细讲一下如何通过集成 JMessage 来为你的 App 增加即时通讯功能. 首先,一个最基础的 ...

  4. 《Java和Android开发实战详解》——2.5节良好的Java程序代码编写风格

    本节书摘来自异步社区<Java和Android开发实战详解>一书中的第2章,第2.5节良好的Java程序代码编写风格,作者 陈会安,更多章节内容可以访问云栖社区"异步社区&quo ...

  5. Android事件流程详解

    Android事件流程详解 网络上有不少博客讲述了android的事件分发机制和处理流程机制,但是看过千遍,总还是觉得有些迷迷糊糊,因此特地抽出一天事件来亲测下,向像我一样的广大入门程序员详细讲述an ...

  6. Android Studio 插件开发详解二:工具类

    转载请标明出处:http://blog.csdn.net/zhaoyanjun6/article/details/78112856 本文出自[赵彦军的博客] 在插件开发过程中,我们按照开发一个正式的项 ...

  7. 《Android游戏开发详解》一2.16 区分类和对象

    本节书摘来异步社区<Android游戏开发详解>一书中的第2章,第2.16节,作者: [美]Jonathan S. Harbour 译者: 李强 责编: 陈冀康,更多章节内容可以访问云栖社 ...

  8. Android Framework系统服务详解

    Android Framework系统服务详解 操作环境 系统:Linux (Ubuntu 12.04) 平台:高通 Android版本:5.1 PS: 符号...为省略N条代码 一.大致原理分析 A ...

  9. android屏幕适配详解

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

  10. Android LiveData组件详解以及LiveDataBus

    转载请标明出处:https://blog.csdn.net/zhaoyanjun6/article/details/99749323 本文出自[赵彦军的博客] 一.LiveData简介 LiveDat ...

最新文章

  1. HDU5443(ST表)
  2. html获取子节点数量,Selenium-webdriver在JavaScript中获取子元素数
  3. 【Android 逆向】Android 权限 ( 查看内存信息 | 查看 CPU 信息 | 查看电池信息 | 查看账户信息 | 查看 Activity 信息 | 查看 Package 信息 )
  4. 【问题解决】老外ESP32TTS语音合成库AquesTalk ESP32测试成功
  5. 后端技术:Maven 最全知识总结,值得收藏!
  6. centos 6 x64 mysql_CentOS 6.x版本升级Mysql
  7. 成人教育计算机统考分数查询江苏省,江苏省教育考试院查询
  8. 如何能自动上传公众号文章到网站里面!
  9. 真机调试时部分日志丢失(魅族)
  10. tcp_wrap之实例
  11. 缠中说缠,最好用的缠论画笔和中枢的指标公式 通达信用
  12. 生成对抗网络GANs的用途
  13. Jmeter进行接口测试流程步骤详解
  14. 如何实现chrome谷歌浏览器多开(独立环境 独立cookie)
  15. 『纪念册 · 转专业任务』
  16. SVN目录对号图标(更新、冲突)不显示
  17. 图像加密--chua's chaos and baker's transformation
  18. 2021年焊工(初级)新版试题及焊工(初级)考试技巧
  19. 用turtle作画玩一玩吧
  20. python--log日志的写法和介绍

热门文章

  1. 再谈协方差矩阵之主成分分析 2
  2. Guitar Rig 6 for mac(电吉他软件效果器)
  3. 最好用的个人财务管理工具 Money Pro 2.7.4中文版
  4. 教你在macOS Big Sur 11.0 系统中在右键菜单中添加发送共享到微信或QQ的功能?
  5. 前端基础学习之Html标签
  6. EasyRecovery如何恢复ps的psd文件
  7. 思科的雾计算对物联网有何推助力?
  8. 调用百度地图 API 移动地图时 maker 始终在地图中间 并根据maker 经纬度 返回地址...
  9. 让你口水不停的最新台湾美食推荐
  10. 角色 RESOURCE、CONNECT、DBA具有的权限