android - 是否可以为 DataTables 制作动态高度?
问题描述
大家好,我有一个问题。我有一个显示数据库数据的 DataTable。现在并不是我所有的数据长度都不同,有些更大,有些更小。我知道我可以制作一个固定的高度,dataRowHeight
但这也意味着当我没有这么长的数据集要显示时,我有很多可用空间。是否可以进行dataRowHeight
动态化以使其始终完美地适合每个数据集?
解决方案
也许这样的方法可以帮助您实现目标?您可以根据用于填充 DataTable 的列表中的元素数来计算 dataRowHeight 的值。LayoutBuilder 为您提供最大值。可用高度。
return LayoutBuilder(
builder: (context, constraints) {
final rowHeight = (constraints.maxHeight - 40) / someList.length;
return DataTable(
dataRowHeight: rowHeight,
headingRowHeight: 40,
showCheckboxColumn: false,
columns: const <DataColumn>[
DataColumn(
label: Text(
'FirstColumn',
),
),
DataColumn(
label: Text(
'SecondColumn',
),
),
],
rows: someList.map<DataRow>((element) {
return DataRow(
cells: <DataCell>[
DataCell(
Text(
element[0],
),
),
DataCell(
Text(
element[1],
),
),
],
);
}).toList(),
);
},
);