TextView 通常用来显示普通文本,但TextView的功能并不局限于此。它还有一些高级特性,包括自定义字体、文字大小颜色、字体样式、多种特效,html嵌入、插入图片等等。虽然平时可能使用得不多,但是需要的时候却是很有用的特性。下面就和大家一起分享下TextView的高级用法。
效果图
1. 设置字体大小颜色样式效果
TextView text = (TextView) findViewById(R.id.text);
SpannableString span = new SpannableString("设置字体样式大小放大前景色背景色正常粗体斜体粗斜体下划线删除线上标下标超链接电话邮件网络短信彩信地图缩放效果模糊效果浮雕效果插入图片文本点击事件");
Spanable中的常用常量:
Spanned.SPAN_EXCLUSIVE_EXCLUSIVE —— 前后都不包括 (a,b)
Spanned.SPAN_EXCLUSIVE_INCLUSIVE —— 前面不包括,后面包括 (a,b]
Spanned.SPAN_INCLUSIVE_EXCLUSIVE —— 前面包括,后面不包括 [a,b)
Spanned.SPAN_INCLUSIVE_INCLUSIVE —— 前后都包括 [a,b]
设置字体
字体(default,default-bold,monospace,serif,sans-serif)
span.setSpan(new TypefaceSpan("monospace"), 0, 2, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
span.setSpan(new TypefaceSpan("serif"), 2, 4, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
text.append(span);
设置字体大小
span.setSpan(new AbsoluteSizeSpan(20), 4, 6, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
span.setSpan(new AbsoluteSizeSpan(20,true), 6, 8, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
span.setSpan(new RelativeSizeSpan(2.0f), 8, 10, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
text.append(span);
AbsoluteSizeSpan()字体大小为绝对值,单位:像素;第二个参数如果为“true”,则前面的字体大小单位为“dp”,否则为“px”。
RelativeSizeSpan()字体