当前位置:首页 > 谈天说地

Android Flutter表格组件Table的使用详解

34资源网2022-06-25583

之前开发中用到的表格,本篇文章主要介绍如何在页面中使用表格做一个记录。

table组件不同于其它flex布局,它是直接继承的renderobjectwidget的。相当于是一个独立的组件,区别与其他系列组件。

table、tabrow、tabcell

惯例,先看下table相关的构造方法:

table({
  key? key,
  this.children = const <tablerow>[],//行列表 表示多少行
  this.columnwidths,// 表格每列分布宽度
  // 默认平分占比 修改每一列占比使用上面的参数
  this.defaultcolumnwidth = const flexcolumnwidth(),
  this.textdirection,//阅读顺序
  this.border,// 边框样式
  this.defaultverticalalignment = tablecellverticalalignment.top,// 单元格垂直对齐方式
  this.textbaseline, //对齐文本的水平线
})

// 表格内容区
const tablerow({
this.key, 
this.decoration,// 行单元装饰
this.children // 每一行内容列表 表示一行多少内容
});

// 单元格垂直对齐方式
const tablecell({
  key? key,
  this.verticalalignment,// 具体单元格垂直对齐方式、上面修改全局,这里可以覆盖全局单独设置
  required widget child,
}

构造参数很少,用起来也比较简单,比如我们要展示三行三列数据,这里以最为常见的成绩表为例,设置了单元格样式,表格的边框色,单元格文本。

如果不设置每列的占比,表格默认将会平分空间。

设置每列占比宽度值,

columnwidths: {
  0:fixedcolumnwidth(100),
  1:fixedcolumnwidth(200),
  2:fixedcolumnwidth(200),
},

这是一个map对象,我们可以固定设置每列的宽度值,如果不设置它将自动填充剩余空间。

这是我们表格数据比较少的时候,当列数比较多的时候,我们希望可以横向滑动来查看,毕竟在移动端屏幕有限,这里我们就必须要用defaultcolumnwidth这个参数来设置单元格宽度,从源码中我们可以得知,如果宽度无限大的话,需要使用fixedcolumnwidthintrinsiccolumnwidth设置单元格大小。

fixedcolumnwidth:固定宽度。

intrinsiccolumnwidth:动态设置单元格大小,当我们的单元格大小不能确定时使用,但是使用这个计算方式对于内存消耗是非常大的,在源码注释中看到,具体为啥消耗大,暂时留个坑。

如果我们是用了动态计算单元格,那么表格就会变成下方这样,根据内容填充计算单元格大小自适应, 宽度就会根据文本大小动态计算单元格。

需要表格滑动记得别忘了加singlechildscrollview组件,如果需要横纵双向滑动,可以这么嵌套加:

singlechildscrollview(
    scrolldirection: axis.vertical,
    child: singlechildscrollview(
        scrolldirection: axis.horizontal,
        child:  table(
          textbaseline: textbaseline.alphabetic,
          defaultverticalalignment: tablecellverticalalignment.middle,
          defaultcolumnwidth: intrinsiccolumnwidth(),
          children: _gettabrows(),
          border: tableborder.all(color: colors.red, width: 1),
        ),)),

tabrow、tabcell使用方式非常简单就不过多介绍了,

需要注意的是tabcell组件一定是tabel下的子组件才能使用,一般配合defaultverticalalignment全局设置垂直对齐方式,将tabcell嵌套在单元格组件上设置具体单元格垂直对齐方式。

小结

表格用法很简单,主要是单元格大小、对齐方式需要注意下,当然这个表格的行列数量必须是一一对应的,不能像excel那样合并、分拆单元格。如果表格太复杂那就只能祭出大杀器自定义绘制了~~

到此这篇关于android flutter表格组件table的使用详解的文章就介绍到这了,更多相关flutter表格组件table内容请搜索萬仟网以前的文章或继续浏览下面的相关文章希望大家以后多多支持萬仟网!

看完文章,还可以扫描下面的二维码下载快手极速版领4元红包

快手极速版二维码

快手极速版新人见面礼

除了扫码领红包之外,大家还可以在快手极速版做签到,看视频,做任务,参与抽奖,邀请好友赚钱)。

邀请两个好友奖最高196元,如下图所示:

快手极速版邀请好友奖励

扫描二维码推送至手机访问。

版权声明:本文由34楼发布,如需转载请注明出处。

本文链接:https://www.34l.com/post/17997.html

分享给朋友:

相关文章

购买须知模板怎么编辑(淘宝买家须知免费素材)

购买须知模板怎么编辑(淘宝买家须知免费素材)

为了帮助您入门,在您注册 Shopify 帐户时,后台的模版页面中会设置一个默认模版。如果您想为在线商店自定义一个不同的模版,则需要向后台添加一个模版。 您可通过以下几种方式添加模版: 如果您的计算机上的 .zip 文件中已有一个模版,那么…

这4类项目,投资人打死都不想投

这4类项目,投资人打死都不想投

很多创业者常感慨:明明自己的项目很好,但聊了很多投资人,却没人愿意投,这是为什么呢? 我们知道融资成功的关键,在于要让投资人看到项目的价值。这个价值,不仅仅是你的项目好就行,除了项目本身,投资人还有很多关注点,如果这些地方不“达标”,投资人…

热闹的跨境电商赛道,有什么基础设施类的创业机会?

热闹的跨境电商赛道,有什么基础设施类的创业机会?

编者按:本文转自峰瑞资本,作者吴羽君,创业邦经授权转载。 跨境电商是当前创投领域的热门方向之一。2014年以来,即便受到中美贸易摩擦和疫情的多重影响,这一行业的复合增速仍超过20%。与此同时,跨境电商交易规模占我国进出口总额的比重也在逐步增…

个人云存储哪个品牌好(云存储十大品牌排行榜)

个人云存储哪个品牌好(云存储十大品牌排行榜)

最近越来越多的视频博主开始在安利“私有云”存储,很多人觉得听起来偏硬核,平时也用不上,就没有过多去了解。可能是“云”这个概念容易让人觉得门槛很高,其实私有云没有大家想象中那么复杂,它的用法也可以很简单,并且能给我们的移动生活带来很多便利。…

最便宜的智能机手机(最新手机排行榜2021 )

最便宜的智能机手机(最新手机排行榜2021 )

这个双11的手机市场,各家确实都是全力以赴了,因为一方面下半年就是这个重要节点,另一方面市场需求也不是很高,更需要加速出货。这不,评价君看到,iQOO Neo5活力版也发力了,原价2299元的机型,到手价最低1899元,十分彪悍。 这款i…

诺基亚c2-01手机参数(诺基亚最新款手机)

诺基亚c2-01手机参数(诺基亚最新款手机)

诺基亚C2 Android Go Edition 价格:暂无价格 上市时间:2020年03月 屏幕尺寸:5.7英寸 分辨率:1520×720 触摸屏类型:电容触摸屏,多点触控CPU型号:紫光展锐SC9832E CPU核数:四核 操作系统:…