一款android自动生成表格框架

功能介绍

快速配置自动生成表格;

自动计算表格宽高;

表格列标题组合;

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

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

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

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

表格批注;

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

缩放模式和滚动模式;

注解模式;

内容多行显示;

分页模式;

首尾动态添加数据;

丰富的格式化;

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

视频展示

如何使用

引用

Step 1. 添加 JitPack repository 到你的build文件

allprojects {

repositories {

...

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

}

}

Step 2. 增加依赖

dependencies {

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

}

使用表格View

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 column1 = new Column<>("姓名", "name");

Column column2 = new Column<>("年龄", "age");

Column column3 = new Column<>("更新时间", "time");

Column column4 = new Column<>("头像", "portrait");

//如果是多层,可以通过.来实现多级查询

Column column5 = new Column<>("班级", "class.className");

//组合列

Column totalColumn1 = new Column("组合列名",column1,column2);

//表格数据 datas是需要填充的数据

final TableData tableData = new TableData<>("表格名",userList,totalColumn1,column3);

//设置数据

table = findViewById(R.id.table);

//table.setZoom(true,3);是否缩放

table.setTableData(tableData);

- 基本方法介绍

Column构造方法中还有两个参数IFormat,IDrawFormat。其中IFormat是用于格式化显示文字,比如User对象中有更新时间字段time时间戳。我们想要显示不同格式,就可以重写该方法。IDrawFormat是用于显示绘制格式化,比如User对象中有头像字段portrait时间戳,就可以使用该方法,框架提供几种IDrawFormat包括(文字、Bitmap、Resoure图片、图文结合)。

Column提供了

是否自动排序setAutoCount(boolean isAutoCount)

是否反序排列isReverseSort

设置排序比较setComparator

统计格式化setCountFormat

点击事件OnColumnItemClickListener

TableData中基本方法

设置排序列setSortColumn

设置列标题格式化settitleDrawFormat

设置顶部序列号格式化setXSequenceFormat

设置左边序列号格式化setYSequenceFormat

设置是否显示统计setShowCount

TableConfig中基本方法

设置内容文字样式setContentStyle

设置左边序列文字样式setYSequenceStyle

设置顶部序列文字样式setXSequenceStyle

设置列标题文字样式setColumnTitleStyle

设置表格标题文字样式setTableTitleStyle

设置统计行样式setCountStyle

设置列标题网格样式setColumnTitleGridStyle

设置表格网格样式setGridStyle

设置网格列paddingsetVerticalPadding

设置网格行paddingsetHorizontalPadding

设置左序列背景setYSequenceBackgroundColor

设置右序列背景setXSequenceBackgroundColor

设置列标题背景setColumnTitleBackgroundColor

设置内容背景setContentBackgroundColor

设置统计行背景setCountBackgroundColor

固定左侧setFixedYSequence

固定顶部setFixedXSequence

固定列标题setFixedTitle

固定第一列setFixedFirstColumn//1.4版本取消了

固定统计行setFixedCountRow

总结

写完SmartChart之后,对android 绘图有了进一步的理解。开始了做SmartTable,开始只是一个小demo,经过一星期的上班偷着写,基本完成表格主要功能,本来还有合并等功能,由于后面没有采用,便只做了开始设计功能,已经满足日常需求。

android中使用表格的场景很少,主要屏幕一页放不下,用户体验不好。在实现过程中,尽量做到体验感好些,我感觉通过固定标题和第一行体验最好,所以默认设置固定。当然你可以自己设置。里面还有不少的坑,希望有需要的朋友可以使用它。

License

SmartTable is released under the Apache 2.0 license.

Copyright 2017 Huangyanbin.

Licensed under the Apache License, Version 2.0 (the "License");

you may not use this file except in compliance with the License.

You may obtain a copy of the License at following link.

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software

distributed under the License is distributed on an "AS IS" BASIS,

WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

See the License for the specific language governing permissions and

limitat

android 如何生成表格,SmartTable:Android 自动生成表格框架相关推荐

  1. android 学习 解决R.java不能自动生成问题,编译时adb.exe 找不到问题

    android 学习 解决R.java不能自动生成问题,编译时adb.exe 找不到问题 参考文章: (1)android 学习 解决R.java不能自动生成问题,编译时adb.exe 找不到问题 ( ...

  2. excel怎样修改表格时间和计算机一制,Excel表格中如何自动生成记录数据的日期和时间...

    前几天有人问我:Excel表格在录入信息时如何在日期单元格自动生成日期时间? 在录入表格的时候,我们经常需要录入时间,比要填写出入库时间,为了减少录入的工作量,可以把日期设置为自动生成. 例如我们在B ...

  3. 渗透工具NessusToReport:一个nessus自动报告生成工具,可以用来自动生成nessus扫描器的中文报告--NessusToReport

    Git地址: Hypdncy/NessusToReport: nessus扫描报告自动化生成工具 (github.com) NessusToReport 这是一个nessus自动报告生成工具,可以用来 ...

  4. android生成大分辨率图片,自动生成Android不同分辨率下的图片

    转自: http://blog..net/offbye/article/details/50012605 Android屏幕分辨率适配的图标处理比较麻烦,让UI做不同尺寸的图片也挺浪费时间的,并且容易 ...

  5. 2021-12-30 解决Android启用了DataBinding 不会自动生成相对应的Binding Data Binding class not generated

    Data Binding class 不会自动生成,原因是因为layout里面没有设置Layout 标签 修改前: <?xml version="1.0" encoding= ...

  6. php 表格序号,excel自动生成序号、编号

    用Excel编辑表格时,经常需要给表格添加序号,如果要添加的序号较多,则一个一个的手动输入序号会浪费一定的时间. 我们可以利用Excel中的一些功能,让Excel自动给表格添加序号,这些功能有的适合表 ...

  7. 代码生涯冲常见的的bug.例如layui表格中日期自动生成、eacharts 报表的重复点击事件

    1.layui表格中日期不受控制的自动生成,这种情况往往是你设置了日期类型的强转 例 对于这种情况你需要定义templet模板 1. {field: 'outtime', title: '离开时间', ...

  8. sql自动生成工具_可自动生成代码,5款基于AI的开发工具

    如今,对机器学习潜力感兴趣的程序员都在讨论,如何使用人工智能和基于人工智能的软件开发工具构建应用程序.例如PyTorch和TensorFlow之类的解决方案. 除此之外,机器学习技术正以另一种有趣的方 ...

  9. python 文案自动生成_Python自动化测试如何自动生成测试用例?

    原文作者:陈安妮annie1 原出处:简书 上文内容不用于商业目的,如涉及知识产权问题,请权利人联系博为峰,我们将立即处理. 传统的测试用例需要测试或者开发人员将用户的操作用代码表示出来,通过断言判断 ...

  10. php 自动生成查询密码,php自动生成新密码的两种方法

    php自动生成新密码的两种方法,方法一采用的是随机种子,方法是乱序数组,异曲同工吧. 有需要的朋友可以参考下. 方法1: 代码示例: /* * php自动生成新密码自定义函数 适用环境: PHP5.2 ...

最新文章

  1. 教你利用python 的单人AI 扫雷游戏
  2. python之路_Python之路【第二篇】:Python基础(一)
  3. Java6程序设计基础教程_【Java】《Java程序设计基础教程》第三章学习
  4. Centos7设置时区
  5. kubernetes-Deployment
  6. 16.枚举中的option和result.rs
  7. 《剑指offer》二叉树的下一个节点
  8. 前端笔记-使用vue绑定id使得组件更加灵活(在使用echarts时常用)
  9. SilverLight中的数据绑定
  10. 304 ajax,ajax中304缓存处理
  11. java imapi_读写DVD / CD-Java
  12. 理解分布式和区块链技术
  13. 直观理解偏导数、方向导数和法向量和梯度
  14. Android吃鸡 3dtouch,吃鸡主播为何不用3Dtouch技术操作?主播:只有新手才会用
  15. MQTT学习笔记——MQTT协议使用
  16. 在线教育平台、网校搭建、远程教育平台搭建技术选型(268教育)
  17. 如何在Apache-Maven官网下载到自己想要的版本
  18. 物理引擎的赛车撞人游戏(一) 画地图 -- graphics
  19. 朋友问我c++学到哪了 加愤怒的小鸟 要看到最后
  20. 计算机等级考试二级ppt,高校计算机等级考试二级C.ppt

热门文章

  1. filter2D图像卷积
  2. 苏宁“乱入”智能硬件,两个王炸,一片狼藉
  3. 为什么图片会旋转,旋转角是什么
  4. 马尔可夫链与马尔可夫模型(附代码)
  5. Docker 下使用Weave Scope监控容器
  6. 深度学习之 人脸识别(1) 人脸预处理
  7. 阿里云服务器更换操作系统流程(新版教程)
  8. 火狐浏览器中国版(Firefox) v31.0 beta9 官网正式版
  9. 响应式网页设计工具:Bootstrap Studio for Mac
  10. 将数字一个一个存入数组,将数组转换为数字