[英]Flutter Reduce padding between DataRows in DataTable
不可能以简单的方式做到这一点。
_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.