繁体   English   中英

Flutter 减少数据表中数据行之间的填充

[英]Flutter Reduce padding between DataRows in DataTable

我希望它看起来像(之前 - > 之后):

在此处输入图片说明

可以像这张图片那样做吗?

编辑:像 Hugo 所说的那样解决它,通过将 data_table.dart 的代码复制到一个新文件中,更改 _dataRowHeight,然后使用它。

不可能以简单的方式做到这一点。

_dataRowHeight是一个在DataTable定义的属性(如您所见,是私有的)。 由于DataRow不是Widget ,因此您也不能强制它适合Container

您得到的最佳选择是复制DataTable的源代码以创建您自己的DataTable ,因此您可以修改属性_dataRowHeight

扩展DataTable也是一种选择,但您必须覆盖方法build()并且仍然从DataTable复制大量内容。

在 Dart VM version: 2.7.0 中这个问题得到解决。 您可以使用参数 dataRowHeight 来解决您的问题。 还有更多有用的参数:

DataTable({
Key key,
@required this.columns,
this.sortColumnIndex,
this.sortAscending = true,
this.onSelectAll,
this.dataRowHeight = kMinInteractiveDimension,
this.headingRowHeight = 56.0,
this.horizontalMargin = 24.0,
this.columnSpacing = 56.0,
this.showCheckboxColumn = true,
@required this.rows,  })

快速浏览一下 DataTable 代码后,看起来 padding 是一个私有常量,用于该类中的某些私有构建方法。

static const double _tablePadding = 24.0;

如果您确实需要使用 DataTable 小部件,那么您可以创建自己的类来扩展 DataTable,然后覆盖其构建函数以创建您自己的 _buildDataCell 函数,您可以在其中提供自己的维度。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM