Android TextView使用SpannableString设置复合文本的方法
来源:互联网 发布:大风刮过知乎 编辑:程序博客网 时间:2024/05/17 23:34
1、BackgroundColorSpan 背景色
SpannableString spanText =
new
SpannableString(
"脚本之家 --http://www.jb51.net"
);
spanText.setSpan(
new
BackgroundColorSpan(Color.GREEN),
0
, spanText.length(),
Spannable.SPAN_INCLUSIVE_EXCLUSIVE);
mTVText.append(
"\n"
);
mTVText.append(spanText);
2、ForegroundColorSpan 文本颜色(前景色)
spanText =
new
SpannableString(
"脚本之家 --http://www.jb51.net"
);
spanText.setSpan(
new
ForegroundColorSpan(Color.BLUE),
6
, spanText.length(),
Spannable.SPAN_INCLUSIVE_EXCLUSIVE);
mTVText.append(
"\n"
);
mTVText.append(spanText);
3、MaskFilterSpan 修饰效果,如模糊(BlurMaskFilter)、浮雕(EmbossMaskFilter)
spanText =
new
SpannableString(
"MaskFilterSpan --http://www.jb51.net"
);
int
length = spanText.length();
//模糊(BlurMaskFilter)
MaskFilterSpan maskFilterSpan =
new
MaskFilterSpan(
new
BlurMaskFilter(
3
, Blur.OUTER));
spanText.setSpan(maskFilterSpan,
0
, length -
10
, Spannable.
SPAN_INCLUSIVE_EXCLUSIVE);
//浮雕(EmbossMaskFilter)
maskFilterSpan =
new
MaskFilterSpan(
new
EmbossMaskFilter(
new
float
[]{
1
,
1
,
3
},
1
.5f,
8
,
3
));
spanText.setSpan(maskFilterSpan, length -
10
, length, Spannable.SPAN_INCLUSIVE_EXCLUSIVE);
mTVText.append(
"\n"
);
mTVText.append(spanText);
4、ScaleXSpan 基于x轴缩放
spanText =
new
SpannableString(
"ScaleXSpan -- 脚本之家"
);
//参数proportion:比例大小
spanText.setSpan(
new
ScaleXSpan(
3
.8f),
3
,
7
, Spannable.SPAN_INCLUSIVE_EXCLUSIVE);
mTVText.append(
"\n"
);
mTVText.append(spanText);
5、DynamicDrawableSpan 设置图片,基于文本基线或底部对齐。
DynamicDrawableSpan drawableSpan =
new
DynamicDrawableSpan(DynamicDrawableSpan.ALIGN_BASELINE) {
@Override
public
Drawable getDrawable() {
Drawable d = getResources().getDrawable(R.drawable.ic_launcher);
d.setBounds(
0
,
0
,
50
,
50
);
return
d;
}
};
DynamicDrawableSpan drawableSpan2 =
new
DynamicDrawableSpan(
DynamicDrawableSpan.ALIGN_BOTTOM) {
@Override
public
Drawable getDrawable() {
Drawable d = getResources().getDrawable(R.drawable.ic_launcher);
d.setBounds(
0
,
0
,
50
,
50
);
return
d;
}
};
spanText.setSpan(drawableSpan,
3
,
4
, Spannable.SPAN_INCLUSIVE_EXCLUSIVE);
spanText.setSpan(drawableSpan2,
7
,
8
, Spannable.SPAN_INCLUSIVE_EXCLUSIVE);
mTVText.append(
"\n"
);
mTVText.append(spanText);
阅读全文
0 0
- Android TextView使用SpannableString设置复合文本的方法
- [Android教程]TextView使用SpannableString设置复合文本
- Android中TextView使用SpannableString设置复合文本
- 在TextView使用SpannableString设置复合文本
- TextView使用SpannableString设置复合文本
- TextView使用SpannableString设置复合文本
- TextView使用SpannableString设置复合文本
- TextView使用SpannableString设置复合文本
- TextView使用SpannableString设置复合文本
- TextView使用SpannableString设置复合文本
- TextView使用SpannableString设置复合文本
- TextView使用SpannableString设置复合文本
- TextView使用SpannableString设置复合文本
- TextView使用SpannableString设置复合文本
- TextView使用SpannableString设置复合文本
- TextView使用SpannableString设置复合文本
- TextView使用SpannableString设置复合文本
- TextView使用SpannableString设置复合文本
- 【无用】随笔_摘抄
- 数据库操作练习2
- 快速例子学习mongodb的mapreduce
- dubbo的使用详解
- Python脚本 —Windows下文件备份
- Android TextView使用SpannableString设置复合文本的方法
- linux tty1-7理解
- 仿照百度网盘的分析
- Java学习记录–泛型擦除分析
- uva12298(Super Poker II)-FFT(快速傅里叶变换)
- POJ-3233 Matrix Power Series
- 【多校训练】hdu 6168 Numbers
- iOS开发---WKWebView加载不受信任的https
- Android APK加固(加壳)工具