文章

Span开源库

Span开源库

Span 开源库

spannable

支持正则匹配/图文混排/图标/GIF 动画/自定义表情包。

qfarp

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()  
}

spxxi

Html 富文本

xiyin 用的这个:[Android-Rich-text-Editor/ARE/are/src/main/java/com/chinalwb/are/android/inner/Html.java at master · chinalwb/Android-Rich-text-Editor · GitHub](Html.java)

本文由作者按照 CC BY 4.0 进行授权