# SmartTable
```
android自动生成表格框架
```
[![License](https://img.shields.io/badge/license-Apache%202-4EB1BA.svg)](https://www.apache.org/licenses/LICENSE-2.0.html)
[![](https://jitpack.io/v/huangyanbin/smartTable.svg)](https://jitpack.io/#huangyanbin/smartTable)
* [English README](/README.en.md/)
* [历史版本介绍](/README_old_version.md/)
* [更多功能详情介绍](https://juejin.im/post/5a55ae6c5188257350511a8c)
* [apk version 2.0版本下载地址](/img/smartTable.apk)
* [SmartTable2.0基本使用手册持续更新中](/use.md)
> ![下载地址](/img/table.png)
> ![QQ群](/img/SmartTableCode.png)
##### 功能介绍
1. 快速配置自动生成表格;
2. 自动计算表格宽高;
3. 表格列标题组合;
4. 表格固定左序列、顶部序列、第一行、列标题、统计行;
5. 自动统计,排序(自定义统计规则);
6. 表格图文、序列号、列标题格式化;
7. 表格各组成背景、文字、网格、padding等配置;
8. 表格批注;
9. 表格内容、列标题点击事件;
10. 缩放模式和滚动模式;
11. 注解模式;
12. 内容多行显示;
13. 分页模式;
14. 首尾动态添加数据;
15. 丰富的格式化;
16. 支持二维数组展示(用于类似日程表,电影选票等);
17. 导入excel(支持颜色,字体,背景,批注,对齐,图片等基本Excel属性);
18. 表格合并单元(支持注解合并,支持自动合并);
19. 支持其他刷新框架SmartRefreshLayout;
20. 可配置表格最小宽度(小于该宽度自动适配);
21. 支持直接List或数组字段转列;
22. 支持Json数据直接转换成表格;
23. 支持表格网格指定行列显示;
##### 功能展示
![基本功能](/img/table.gif)
> 缩放功能
![缩放](/img/zoom.gif)
> 刷新功能(使用SmartRefreshLayout)
![刷新](/img/refresh.gif)
> 导入Excel(使用Jxl)
![Excel](/img/old_excel.png)
![Excel](/img/new_excel.png)
> 导入二维数组
![日程](/img/progress.jpg)
![头像](/img/avator.jpg)
> List或数组转列
![课表表](/img/arrayColumn.gif)
##### 如何使用
- 引用
> 添加 JitPack repository 到你的build文件
```gradle
allprojects {
repositories {
...
maven { url 'https://www.jitpack.io' }
}
}
```
> 增加依赖
```gradle
dependencies {
compile 'com.github.huangyanbin:SmartTable:2.0'
}
```
如果你不需要数组转列功能,你可以使用1.7.1版本,需要的话,请使用最新版本2.0
2.0格式化配置有所变化,文档还没写,如果要需求,可以在QQ群询问。
> 使用表格View
```
<com.bin.david.form.core.SmartTable
android:id="@+id/table"
android:layout_width="match_parent"
android:layout_height="match_parent"
/>
```
##### 注解模式
> 在您需要生成的表格的类增加注解
```
@SmartTable(name="表名")
```
> 在你需要显示的字段增加注解
```
// id为该字段所在表格排序位置
@SmartColumn(id =1,name = "列名")
//如果需要查询到该成员变量里面去,通过设置type实现
@SmartColumn(type = ColumnType.Child)
```
> 设置表格数据
```
table = findViewById(R.id.table);
table.setData(list);
```
注解模式就是这么简单,你可以直接运行查看效果了。当然这只是注解基本配置,注解里面还有自动统计,列组合等,如果你想要了解注解更多,请查看demo.
##### 基本模式
```
//普通列
Column<String> column1 = new Column<>("姓名", "name");
Column<Integer> column2 = new Column<>("年龄", "age");
Column<Long> column3 = new Column<>("更新时间", "time");
Column<String> column4 = new Column<>("头像", "portrait");
//如果是多层,可以通过.来实现多级查询
Column<String> column5 = new Column<>("班级", "class.className");
//组合列
Column totalColumn1 = new Column("组合列名",column1,column2);
//表格数据 datas是需要填充的数据
final TableData<User> tableData = new TableData<>("表格名",userList,totalColumn1,column3);
//设置数据
table = findViewById(R.id.table);
//table.setZoom(true,3);是否缩放
table.setTableData(tableData);
```
##### 注解模式更多功能
> ```@SmartTable```表格注解,用于生成表格。
注解 | 作用
---|---
name | 表格名
count | 是否显示统计行
pageSize | 页数量
currentPage | 当前页
> ```@SmartColumn```列,用于注解列。
注解 | 作用
---|---
name | 列标题
id | 列排序位置(越小越在前面)
parent | 父列名称(不设置则没有父列)
align | 列对齐方式
type | 设置是否查询下一级
autoMerge |设置是否自动合并
maxMergeCount |合并最大数量
autoCount |是否开启统计
fixed |是否固定该列
> 解释:
- align
设置该列对齐方式,默认居中
- type
有ColumnType.Own,ColumnType.Child,两个值可以设置,假设UserInfo 有个属性是Family family对象,你想解析faily对象的属性monther,father两个属性,则需要设置Child,并在monther,father下添加相对应的注解@SmartColumn,否则只解析到Family,默认是Own。
- autoMerge
假设你返回的数据格式化之后该列附近数据有相同,则会自动合并成一个单元格,默认不开启合并。
- autoCount
table 开启显示统计行,设置autoCount为true,则该列可以自动统计,默认为false。
- fixed
fixed设置为true,该列滚动到最左边时,可以自动固定住。
##### 基本方法介绍
> ```Column```类常用方法
1. 是否自动排序 setAutoCount(boolean isAutoCount)
2. 是否反序排列 isReverseSort
3. 设置排序比较 setComparator
4. 统计格式化 setCountFormat
5. 列内容点击事件 OnColumnItemClickListener
6. 滑动到表格左边时固定列 setFixed
7. 设置列对齐 setTextAlign
8. 设置开启自动合并 setAutoMerge
9. 设置开启最大数量 setMaxMergeCount
10. 设置绘制样式格式化 setDrawFormat
11. 设置文字格式化 setFormat
> ```TableData```类常用方法
1. 设置排序列 setSortColumn
2. 设置列标题格式化 settitleDrawFormat
3. 设置顶部序列号格式化 setXSequenceFormat
4. 设置左边序列号格式化 setYSequenceFormat
5. 设置是否显示统计 setShowCount
6. 设置列标题绘制格式化 setTitleDrawFormat
7. 设置X序号行文字格式化 setXSequenceFormat
8. 设置Y序号列文字格式化 setYSequenceFormat
9. 设置添加自定义合并规则setUserCellRange(List<CellRange> userCellRange)
> ```TableConfig```类常用方法
1. 设置内容文字样式 setContentStyle
2. 设置左边序列文字样式 setYSequenceStyle
3. 设置顶部序列文字样式 setXSequenceStyle
4. 设置列标题文字样式 setColumnTitleStyle
5. 设置表格标题文字样式 setTableTitleStyle
6. 设置统计行样式 setCountStyle
7. 设置列标题网格样式 setColumnTitleGridStyle
8. 设置内容网格样式 setGridStyle
9. 设置网格列padding setVerticalPadding
10. 设置网格行padding setHorizontalPadding
11. 设置左序列背景 setYSequenceBackgroundColor
12. 设置横序行背景 setXSequenceBackgroundColor
13. 设置列标题背景 setColumnTitleBackgroundColor
14. 设置内容背景 setContentBackgroundColor
15. 设置统计行背景 setCountBackgroundColor
16. 固定左侧 setFixedYSequence
17. 固定顶部 setFixedXSequence
18. 固定列标题 setFixedTitle
19. 固定第一列 setFixedFirstColumn//1.4版本取消了 可以使用Column.setFixed 固定任意列。
20. 固定统计行 setFixedCountRow
21. 列标题上下padding setColumnTitleVerticalPadding
22. 增加列标题左右padding setColumnTitleHorizontalPadding
22. 序列网格样式 setSequenceGridSty
没有合适的资源?快使用搜索试试~ 我知道了~
smartTable-2.2.0.zip
共310个文件
java:150个
png:66个
xml:60个
3星 · 超过75%的资源 需积分: 18 17 下载量 40 浏览量
2019-05-30
17:11:07
上传
评论 1
收藏 21.62MB ZIP 举报
温馨提示
android 表格 功能介绍 快速配置自动生成表格; 自动计算表格宽高; 表格列标题组合; 表格固定左序列、顶部序列、第一行、列标题、统计行; 自动统计,排序(自定义统计规则); 表格图文、序列号、列标题格式化; 表格各组成背景、文字、网格、padding等配置; 表格批注; 表格内容、列标题点击事件; 缩放模式和滚动模式; 注解模式; 内容多行显示; 分页模式; 首尾动态添加数据; 丰富的格式化; 支持二维数组展示(用于类似日程表,电影选票等); 导入excel(支持颜色,字体,背景,批注,对齐,图片等基本Excel属性); 表格合并单元(支持注解合并,支持自动合并); 支持其他刷新框架SmartRefreshLayout; 可配置表格最小宽度(小于该宽度自动适配); 支持直接List或数组字段转列; 支持Json数据直接转换成表格; 支持表格网格指定行列显示; 支持自动生成表单。
资源推荐
资源详情
资源评论
收起资源包目录
smartTable-2.2.0.zip (310个子文件)
smartTable.apk 4.8MB
gradlew.bat 2KB
refresh.gif 4.78MB
table.gif 3.49MB
zoom.gif 2.87MB
arrayColumn.gif 648KB
.gitignore 118B
.gitignore 7B
.gitignore 7B
build.gradle 2KB
build.gradle 1KB
build.gradle 653B
settings.gradle 24B
gradlew 5KB
poi-3.17.jar 2.58MB
poi-scratchpad-3.17.jar 1.33MB
jxl.jar 726KB
gradle-wrapper.jar 52KB
Color.java 33KB
ParseModeActivity.java 25KB
GridModeActivity.java 24KB
MatrixHelper.java 22KB
MultParseModeActivity.java 22KB
TableProvider.java 20KB
Column.java 19KB
SmartTable.java 19KB
PagerModeActivity.java 16KB
TableConfig.java 15KB
ArrayColumnModeActivity.java 15KB
ManyActivity.java 14KB
TableData.java 13KB
BaseExcel2Table.java 13KB
TableMeasurer.java 12KB
POIExcel2Table.java 12KB
TableParser.java 10KB
TableListAdapter.java 10KB
AlignActivity.java 9KB
MinModeActivity.java 8KB
FormModeActivity.java 8KB
YSequence.java 8KB
JXLExcel2Table.java 8KB
AnnotationParser.java 7KB
ArrayColumn.java 7KB
AvatorModeActivity.java 7KB
WelcomeActivity.java 6KB
SeatModeActivity.java 6KB
BaseAbstractGridFormat.java 6KB
BaseBubbleTip.java 6KB
XSequence.java 6KB
BaseDialog.java 6KB
TitleImageDrawFormat.java 5KB
ChoiceExcelActivity.java 5KB
AnnotationModeActivity.java 5KB
TableInfo.java 5KB
DesktopModeActivity.java 5KB
MapTableData.java 5KB
ArrayTableData.java 5KB
TextImageDrawFormat.java 5KB
MapModeActivity.java 5KB
ArrayStructure.java 4KB
NetHttpActivity.java 4KB
DrawUtils.java 4KB
RefreshActivity.java 4KB
BaseCheckDialog.java 4KB
FormTableData.java 4KB
TanTanActivity.java 4KB
ArrayModeActivity.java 4KB
MapColumn.java 4KB
DesktopDrawFormat.java 4KB
JsonHelper.java 4KB
MainActivity.java 3KB
BitmapTitleDrawFormat.java 3KB
BitmapDrawFormat.java 3KB
PageTableData.java 3KB
FontStyle.java 3KB
BitmapDrawer.java 3KB
POIExcelModeActivity.java 3KB
TableTitle.java 3KB
TextDrawFormat.java 3KB
PM25.java 3KB
JXLExcelModeActivity.java 3KB
TitleDrawFormat.java 2KB
PointStyle.java 2KB
MultiLineDrawFormat.java 2KB
LineStyle.java 2KB
BaseApplication.java 2KB
MergeModeActivity.java 2KB
SelectionOperation.java 2KB
Student.java 2KB
CellRange.java 2KB
TanTanLayoutManager.java 2KB
IGridFormat.java 2KB
TanBean.java 2KB
DrawHelper.java 2KB
MultiLineBubbleTip.java 2KB
MergeInfo.java 2KB
GridDrawer.java 2KB
ExcelHelper.java 2KB
Form.java 2KB
SmartColumn.java 2KB
共 310 条
- 1
- 2
- 3
- 4
资源评论
- wjqzzzy2019-12-10可以用,开源项目,功能非常强大
lxsll1
- 粉丝: 3
- 资源: 11
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功