省略号
android:singleLine="true"
android:maxEms="6"
android:ellipsize = "end" //省略号在结尾
android:ellipsize = "start" //省略号在开头
android:ellipsize = "middle" //省略号在中间
android:ellipsize = "marquee" //跑马灯
SpannableStringBuilder
SpannableStringBuilder style = new SpannableStringBuilder();
style.append("朝辞白帝彩云间,千里江陵一日还。");
//一段文字可以设置多个多种Span
ClickableSpan clickableSpan = new ClickableSpan() {
@Override
public void onClick(View widget) {
//点击回调
}
@Override//更新绘图状态
public void updateDrawState(TextPaint ds) {
ds.setUnderlineText(false);//去掉下划线
}
};
ClickableSpan clickableSpan2 = new ClickableSpan() {
@Override
public void onClick(View widget) {
//点击回调
}
@Override
public void updateDrawState(TextPaint ds) {
ds.setUnderlineText(false);//去掉下划线
}
};
//过使用setSpan(Object what, int start, int end, int flags)改变文本样式
//设定点击的文字区域
style.setSpan(clickableSpan, 起始位置, 结束位置, flags);
style.setSpan(clickableSpan2, 起始位置, 结束位置, flags);
text.setText(style);
//设置部分文字颜色,如果你通过一个ForegroundColorSpan设置两个区域会展现出不同的颜色
ForegroundColorSpan foregroundColorSpan = new ForegroundColorSpan(Color.parseColor("#0279FF"));
style.setSpan(foregroundColorSpan, 起始位置, 结束位置, flags);
ForegroundColorSpan foregroundColorSpan2 = new ForegroundColorSpan(Color.parseColor("#0279FF"));
style.setSpan(foregroundColorSpan2, 起始位置, 结束位置, flags);
//使用ClickableSpan设置点击事件,最后还需要加上
text.setMovementMethod(LinkMovementMethod.getInstance());
text.setHighlightColor(Color.parseColor("#00ffffff"));//文字点击背景色高亮显示
//配置给TextView
text.setText(style);
* what:
BackgroundColorSpan : 文本背景色
ForegroundColorSpan : 文本颜色
MaskFilterSpan : 修饰效果,如模糊(BlurMaskFilter)浮雕
RasterizerSpan : 光栅效果
StrikethroughSpan : 删除线
SuggestionSpan : 相当于占位符
UnderlineSpan : 下划线
AbsoluteSizeSpan : 文本字体(绝对大小)
DynamicDrawableSpan : 设置图片,基于文本基线或底部对齐。
ImageSpan : 图片
RelativeSizeSpan : 相对大小(文本字体)
ScaleXSpan : 基于x轴缩放
StyleSpan : 字体样式:粗体、斜体等
SubscriptSpan : 下标(数学公式会用到)
SuperscriptSpan : 上标(数学公式会用到)
TextAppearanceSpan : 文本外貌(包括字体、大小、样式和颜色)
TypefaceSpan : 文本字体
URLSpan : 文本超链接
ClickableSpan : 点击事件
*/
* flags:
Spannable. SPAN_INCLUSIVE_EXCLUSIVE:前面包括,后面不包括,即在文本前插入新的文本会应用该样式,而在文本后插入新文本不会应用该样式
Spannable. SPAN_INCLUSIVE_INCLUSIVE:前面包括,后面包括,即在文本前插入新的文本会应用该样式,而在文本后插入新文本也会应用该样式
Spannable. SPAN_EXCLUSIVE_EXCLUSIVE:前面不包括,后面不包括
Spannable. SPAN_EXCLUSIVE_INCLUSIVE:前面不包括,后面包括
*/
网友评论