• Stars
    star
    580
  • Rank 77,010 (Top 2 %)
  • Language
    Kotlin
  • License
    MIT License
  • Created almost 3 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Android最好的Spannable富文本工具, 唯一支持正则匹配/图文混排/图标/GIF动画/自定义表情包

Spannable和创建字符串一样简单



下载体验



让Spannable和字符串一样易用, 快速构建常见的富文本/图文混排/表情包/图标

  1. 全网第一个实现正则替换
  2. 全网第一个同时实现加载Drawable/网络图片/Shape/点九图格式

特点

  • 低学习成本(仅四个函数)
  • 首个支持替换/正则/反向捕获组Span的库
  • 全部使用CharSequence接口, 使用起来和字符串没有区别
  • 没有自定义控件/没有多余函数
  • 快速实现图文混排/富文本/自定义表情包/图标
  • 输入框富文本/表情包, 可监听剪贴板粘贴/手动输入文本渲染

函数

使用的函数非常简单

函数 介绍
setSpan 设置Span
addSpan 添加/插入Span或字符串
replaceSpan 替换/正则匹配Span或字符串
replaceSpanFirst/replaceSpanLast 替换第一个/最后一个匹配的Span或字符串

文本效果-Span

本框架会收集一些常用的Span效果实现, 欢迎贡献代码

Span 描述
CenterImageSpan 垂直对齐方式/图片宽高/固定图片比例/显示文字/自适应文字宽高/Shape/.9图
GlideImageSpan 网络图片/GIF动画/垂直对齐方式/图片宽高/固定图片比例/显示文字/自适应文字宽高, Require Glide
MarginSpan 文字间距
ColorSpan 快速创建文字颜色
HighlightSpan 创建字体颜色/字体样式/可点击效果
ClickableMovementMethod 等效LinkMovementMethod, 但没有点击背景色

本工具将保持简单和扩展性, 如果你想使用dsl构建span可以使用SpannableX

安装

在项目根目录的 settings.gradle 添加仓库

dependencyResolutionManagement {
    repositories {
        // ...
        maven { url 'https://jitpack.io' }
    }
}

然后在 module 的 build.gradle 添加依赖框架

implementation 'com.github.liangjingkanji:spannable:1.2.7'

License

MIT License

Copyright (c) 2023 劉強東

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

More Repositories

1

DrakeTyporaTheme

十二种主题风格 - Material Google JetBrains Vue Juejin Purple Ayu Dark
CSS
2,890
star
2

BRV

[使用文档] Android 快速构建 RecyclerView, 比 BRVAH 更简单强大
Kotlin
2,571
star
3

Net

Android 基于协程/OkHttp网络请求工具
Kotlin
1,852
star
4

StateLayout

🍘 Android上最强大的缺省页框架
Kotlin
636
star
5

Channel

🍯 LiveData / Coroutine / Lifecycle / EventBus 特性的事件总线框架
Kotlin
375
star
6

StatusBar

[开发必备] Android一行代码配置透明状态栏
Kotlin
296
star
7

soft-input-event

Android软键盘遮挡/平滑动画最佳解决方案 Solution for keyboard cover in/smooth animation
Kotlin
285
star
8

Serialize

🍒 Android 简单高性能读写本地数据, 直接存储对象/基础类型
Kotlin
239
star
9

Engine

Android跨业务终端基础组件
Java
167
star
10

Interval

Android计时器工具, 倒计时/正计时/开始/暂停/继续/结束/取消
Kotlin
160
star
11

Tooltip

🍞 Android 快速创建吐司/对话框 Quick crete Toast or Dialog
Kotlin
117
star
12

Resume-Template

使用主题生成网页/PDF/Word/PNG/Html的简历
HTML
108
star
13

LogCat

🐞 Android Logcat 日志工具
Kotlin
84
star
14

liangjingkanji

个人主页
47
star
15

Net-okhttp3

本仓库仅为Net支持 Android 5 (API level 21) 以下, 点击以下链接访问主仓库
Kotlin
41
star
16

RxBus

🍾 标签/线程/Kotlin/自动注销的RxBus
Kotlin
26
star
17

AxureMobileLibrary

🥒 Axure 移动端低保真元件库, 具备交互效果
26
star
18

FlycoTabLayout

FlycoTabLayout是Android上最好的TabLayout(本库仅为Fork)
Java
24
star
19

AutoDispose

🥔 一个函数自动解绑RxJava订阅, 比RxLifeCycle更简单
Kotlin
22
star
20

PTCode

Ligatures font for PT Mono
22
star
21

Wechat-MVVM

Android仿微信的MVVM示例项目
Kotlin
15
star
22

JetBrainsMono-Patch

JetBrains Mono modify characters or default features
Kotlin
14
star
23

PlexMono

Ligatures for IBM Plex Mono
12
star
24

DarculaXcodeTheme

🥝 Darcula theme for Xcode 完美复刻JetBrains的暗色主题配色
10
star
25

SougouSkin

🥥 搜狗输入法简洁皮肤 for Mac
9
star
26

document

5
star
27

RefreshLayout

解决SmartRefreshLayout的一些问题
Java
4
star
28

Cascadia-Code-Patch

cascadia-code modify characters
3
star