Android String处理(SpannableString,HTML)
来源:互联网 发布:医药冷链物流数据 编辑:程序博客网 时间:2024/06/01 08:28
SpannableString:
SpannableString在strings.xml对应关系(StringBlock.java)
- Spanned.SPAN_EXCLUSIVE_EXCLUSIVE --- 不包含两端start和end所在的端点
- Spanned.SPAN_EXCLUSIVE_INCLUSIVE --- 不包含start,但包含end
- Spanned.SPAN_INCLUSIVE_EXCLUSIVE --- 包含start,但不包含end
- Spanned.SPAN_INCLUSIVE_INCLUSIVE--- 包含start和end所在的端点
public void testSetSpan() { String text = "hello, world"; SpannableString spannable = new SpannableString(text); spannable.setSpan(null, 1, 4, SpannableString.SPAN_POINT_POINT); assertEquals(1, spannable.getSpanStart(null)); assertEquals(4, spannable.getSpanEnd(null)); assertEquals(SpannableString.SPAN_POINT_POINT, spannable.getSpanFlags(null)); UnderlineSpan underlineSpan = new UnderlineSpan(); spannable.setSpan(underlineSpan, 0, 2, SpannableString.SPAN_EXCLUSIVE_EXCLUSIVE); assertEquals(0, spannable.getSpanStart(underlineSpan)); assertEquals(2, spannable.getSpanEnd(underlineSpan)); assertEquals(SpannableString.SPAN_EXCLUSIVE_EXCLUSIVE, spannable.getSpanFlags(underlineSpan)); try { spannable.setSpan(null, 4, 1, SpannableString.SPAN_POINT_POINT); fail("should throw IndexOutOfBoundsException here"); } catch (IndexOutOfBoundsException e) { } try { spannable.setSpan(underlineSpan, -1, text.length() + 1, SpannableString.SPAN_EXCLUSIVE_EXCLUSIVE); fail("should throw IndexOutOfBoundsException here"); } catch (IndexOutOfBoundsException e) { } }
public void testRemoveSpan() { SpannableString spannable = new SpannableString("hello, world"); spannable.removeSpan(null); UnderlineSpan underlineSpan = new UnderlineSpan(); spannable.setSpan(underlineSpan, 0, 2, 2); assertEquals(0, spannable.getSpanStart(underlineSpan)); assertEquals(2, spannable.getSpanEnd(underlineSpan)); assertEquals(2, spannable.getSpanFlags(underlineSpan)); spannable.removeSpan(underlineSpan); assertEquals(-1, spannable.getSpanStart(underlineSpan)); assertEquals(-1, spannable.getSpanEnd(underlineSpan)); assertEquals(0, spannable.getSpanFlags(underlineSpan)); // try to test removeSpan when there are no spans spannable.removeSpan(underlineSpan); assertEquals(-1, spannable.getSpanStart(underlineSpan)); assertEquals(-1, spannable.getSpanEnd(underlineSpan)); assertEquals(0, spannable.getSpanFlags(underlineSpan)); }
HTML:
TextView textView = new TextView(context); textView.setText(Html.fromHtml("<b>some</b> html text"));
0 0
- Android String处理(SpannableString,HTML)
- Android TextView+String.xml+SpannableString
- Android----SpannableString
- android SpannableString
- Android中五大字符串总结(String、StringBuffer、StringBuilder、SpannableString、SpannableStringBuilder)
- SpannableString、SpannableStringBuilder、Html字符串
- Android使用SpannableString进行字符串的分段处理
- android - SpannableString或SpannableStringBuilder以及string.xml文件中的整型和string型代替
- android - SpannableString或SpannableStringBuilder以及string.xml文件中的整型和string型代替
- android - SpannableString或SpannableStringBuilder以及string.xml文件中的整型和string型代替
- android - SpannableString或SpannableStringBuilder以及string.xml文件中的整型和string型代替
- android - SpannableString或SpannableStringBuilder以及string.xml文件中的整型和string型代替
- android - SpannableString或SpannableStringBuilder以及string.xml文件中的整型和string型代替
- android SpannableString使用详解
- Android学习之SpannableString
- android SpannableString使用详解
- android创建SpannableString超链接
- android SpannableString使用详解
- iOS开发 - 应用内打开第三方应用并传值
- 仅允许运行使用网络级别身份验证的远程桌面计算机连接失败处理方法(远程桌面连接)
- Android开源--MenuDrawer
- USB主机方式在嵌入式系统的应用
- Linux 屏幕输出命令(echo,printf,yes,seq,clear)
- Android String处理(SpannableString,HTML)
- Effective Java (7) - 避免使用终结方法
- vijos P1360 八数码问题
- Arcgis for Js之GeometryService实现测量距离和面积
- Jquery放大镜效果
- .net 连接oracle的几种方式
- android获取多个在线视频的略缩图
- oracle Set 命令介绍
- LinkedList