Span开源库
Span开源库
Span 开源库
spannable
支持正则匹配/图文混排/图标/GIF 动画/自定义表情包。
SimplifySpan
示例:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
private fun getSpanText(
textview: TextView,
listener: OnClickableSpanListener
): SpannableStringBuilder {
val linkNorTextColor = -0xb7c275
val linkPressBgColor = -0x783106
val spanBuild = SimplifySpanBuild()
spanBuild.append("无默认背景11]")
.append(
SpecialImageUnit(
applicationContext,
BitmapFactory.decodeResource(resources, R.drawable.level)
)
.setGravity(SpecialGravity.CENTER)
)
.append(
SpecialTextUnit("[点我点我000").setClickableUnit(
SpecialClickableUnit(
textview,
listener
).setTag("1").setPressBgColor(-0xb000)
).setTextColor(
Color.BLUE
)
)
.appendMultiClickable(
SpecialClickableUnit(textview, listener).setNormalTextColor(linkNorTextColor)
.setPressBgColor(linkPressBgColor),
" ",
SpecialImageUnit(
applicationContext,
BitmapFactory.decodeResource(resources, R.drawable.level),
80,
50
)
.setGravity(SpecialGravity.CENTER),
SpecialTextUnit(" 用户名 ")
)
.append(
SpecialTextUnit("[点我点我1").setClickableUnit(
SpecialClickableUnit(
textview,
listener
).setTag("1").setPressBgColor(-0xb000)
).setTextColor(
Color.BLUE
)
)
.append("哈哈哈")
.append(
SpecialTextUnit("[括号内测试富文本跨行显示,颜色红色]").setClickableUnit(
SpecialClickableUnit(
textview,
listener
).setTag("1").setPressBgColor(-0xb000)
).setTextColor(Color.RED)
)
.append("无默认背景显示下划线")
.append(
SpecialImageUnit(
applicationContext,
BitmapFactory.decodeResource(resources, R.drawable.level)
)
.setGravity(SpecialGravity.CENTER)
)
.append(
SpecialTextUnit("点我点我2").setClickableUnit(
SpecialClickableUnit(textview, listener).setTag("2").showUnderline()
.setPressBgColor(-0xb000).setPressTextColor(
Color.WHITE
)
).setTextColor(-0xb000)
)
.append("有默认背景")
.append(
SpecialImageUnit(
applicationContext,
BitmapFactory.decodeResource(resources, R.drawable.level),
120,
120
)
.setGravity(SpecialGravity.CENTER)
)
.append(
SpecialTextUnit("点我点我3").setClickableUnit(
SpecialClickableUnit(textview, listener).setTag("3").setPressBgColor(
Color.BLUE
).setPressTextColor(Color.WHITE)
).setTextColor(-0xb000).setTextBackgroundColor(-0x783115)
)
.append(
SpecialImageUnit(
applicationContext,
BitmapFactory.decodeResource(resources, R.drawable.level),
180,
180
)
.setGravity(SpecialGravity.CENTER)
)
.append("我只是个结尾")
return spanBuild.build()
}
Html 富文本
本文由作者按照 CC BY 4.0 进行授权