/**
*
* 参数1:可以设定要转换的类型,如下--------->设置字体(default,default-bold,monospace,serif,sans-serif) new TypefaceSpan("monospace")
* ------------->设置字体大小(绝对值,单位:像素) new AbsoluteSizeSpan(20,true) 如果为true,表示前面的字体大小单位为dip,否则为像素
* ------------->设置字体大小(相对值,单位:像素) 参数表示为默认字体大小的多少倍 new RelativeSizeSpan(0.5f)
* ------------->设置字体前景色 new ForegroundColorSpan(Color.MAGENTA)
* ------------->设置字体背景色 new BackgroundColorSpan(Color.CYAN)
* ------------->设置字体样式正常,粗体,斜体,粗斜体 new StyleSpan(android.graphics.Typeface.NORMAL
* ------------->设置下划线 new UnderlineSpan()
* ------------->设置删除线 new StrikethroughSpan()
* ------------->设置上下标 new SubscriptSpan(),new SuperscriptSpan()
* ------------->设置超级链接(需要添加setMovementMethod方法附加响应) new
* URLSpan("tel:4155551212"),new
* URLSpan("mailto:webmaster@google.com"),new
* URLSpan("http://www.baidu.com")
* ------------->设置指定位置的文字为图片 new ImageSpan(drawable), start, end, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE)
*
* 参数2: start 参数3: end
*
* 0, 2, <pic>人民万岁 0, 3 <pic>民万岁 1, 1 中国人民万岁 1, 2 中<pic>人民万岁 1, 3
* 中<pic>民万岁
*
* 注意:如果字符串长度越界,则会报异常
*
*/
// msp.setSpan(new ImageSpan(drawable), start, end,
// Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
// setSpan (Object what, int start, int end, int flags)
drawable.setBounds(0, 0, drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight());
SpannableString msp = new SpannableString(text);
msp.setSpan(new ImageSpan(drawable), start, end, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
tv.setText(msp);
tv.setMovementMethod(LinkMovementMethod.getInstance());
关于TextView的一些特殊处理
最新推荐文章于 2023-03-08 17:09:36 发布