android复杂表格框架,Android非常牛叉的表格编辑库SmartTable,让复杂表格变得So Easy...

最近项目需求需要制作一个表格展示效果,先看下UI图吧:

11cf8f5ab396?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

image.png

刚开始接收到这个需求的时候,第一反应就是使用 RecyclerView 来进行实现,谁让 RecyclerView 那么牛逼呢?不用纠结 RecyclerView 完完全全可以实现这种效果,无外乎可能就是稍微复杂些

RecyclerView 实现思路:

最外层采用 HorizontalScrollView,保证表格可以左右进行滑动

内层使用 RecyclerView,而使用 RecyclerView 时需要使用到 getItemViewType 这个方法来规定条目的类型(第一行title以及合计可以认为是同一种类型,而“沈阳”那一个稍微大一点的条目可以认为是第二种类型

类型一:这个类型布局就非常简单了,采用 LInearLayout 就可以非常简单的实现

类型二:可以采用水平的 LinearLayout 包裹 TextView 以及 RecyclerView 来进行实现

上面仅仅是介绍了我最开始采用的方案,当然缺点非常多:

使用上面方案时,需要考虑列的宽度问题,要么宽度直接在布局中写死(每列中文字长度不一样,可能会出现第一行与第二行的列错位情况),要么根据服务器返回的数据动态获取每列中最长字符串所需要占用的宽度进行动态设置

表格一般都会存在排序功能(当然我这个项目中暂时还未出现),如果出现需要对列进行升序或降序排序,那就呵呵了,自己想办法去吧,想想都痛苦

说了这么多并不是贬低 RecyclerView 的意思,因为 RecyclerView 本身的定义就不是专门用来做这种复杂表格的(有说错的地方,欢迎在评论中留言),你让 RecyclerView 去实现这种效果就有点.......

下面来介绍一下今天的主角:SmartTable —— 好用漂亮的 Android 表格框架

先说一下 SmartTable 都支持的功能吧,具体例子后面再给出:

快速配置自动生成表格;

自动计算表格宽高

表格列标题组合

表格固定左序列、顶部序列、第一行、列标题、统计行

自动统计,排序(自定义统计规则)

表格图文、序列号、列标题格式化

表格各组成背景、文字、网格、padding 等配置

表格批注

表格内容、列标题点击事件

缩放模式和滚动模式

注解模式

内容多行显示

分页模式

首尾动态添加数据

丰富的格式化

支持二维数组展示(用于类似日程表,电影选票等)

导入 excel(支持颜色,字体,背景,批注,对齐,图片等基本 Excel 属性)

表格合并单元(支持注解合并,支持自动合并)

支持其他刷新框架 SmartRefreshLayout

可配置表格最小宽度(小于该宽度自动适配)

支持直接 List 或数组字段转列

支持 Json 数据直接转换成表格

支持表格网格指定行列显示

看介绍是不是感觉叼的不要不要的,不过呢,我也是刚使用这个框架,在这里也仅仅是介绍一些开发中常用的,其他的自己去尝试吧

如何使用

引用:添加 JitPack repository 到你的 build 文件

allprojects {

repositories {

...

maven { url 'https://www.jitpack.io' }

}

}

增加依赖

dependencies {

compile 'com.github.huangyanbin:SmartTable:2.0'

}

使用方式

SmartTable 的使用方式有两种:

采用注解的形式

基本模式,手动配置行与列

一、注解方式

步骤一:在布局文件中

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值