Files
FlutterUnit/lib/views/widgets/RenderObjectWidget/Table.dart
toly 1440eef185 .
2020-03-30 09:27:31 +08:00

81 lines
3.0 KiB
Dart
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import 'package:flutter/material.dart';
// {
// "widgetId": 110,
// "name": 'Table基本使用',
// "priority": 1,
// "subtitle":
// "【children】 : 组件列表 【List<Widget>】\n"
// "【columnWidths】 : 列宽 【Map<int, TableColumnWidth>】\n"
// "【defaultColumnWidth】 : 默认列宽 【TableColumnWidth】\n"
// "【border】 : 边线 【TableBorder】\n"
// "【textDirection】 : 文字方向 【TextDirection】\n"
// "【defaultVerticalAlignment】 : 单元格竖直方向对齐模式 【TableCellVerticalAlignment】",
// }
class CustomTable extends StatelessWidget {
@override
Widget build(BuildContext context) {
var title = _ItemBean("单位称", "量纲", "单位", "单位名称", "单位符号");
var m = _ItemBean("长度", "L", "1m", "", "m");
var kg = _ItemBean("质量", "M", "1Kg", "千克", "Kg");
var s = _ItemBean("时间", "T", "1s", "", "s");
var a = _ItemBean("安培", "Ι", "1A", "安培", "A");
var k = _ItemBean("热力学温度", "θ", "1K", "开尔文", "K");
var mol = _ItemBean("物质的量", "N", "1mol", "摩尔", "mol");
var cd = _ItemBean("发光强度", "J", "1cd", "坎德拉", "cd");
var data = <_ItemBean>[title, m, kg, s, a, k, mol, cd];
return SingleChildScrollView(
scrollDirection: Axis.horizontal,
child: Table(
columnWidths: const <int, TableColumnWidth>{
0: FixedColumnWidth(80.0),
1: FixedColumnWidth(80.0),
2: FixedColumnWidth(80.0),
3: FixedColumnWidth(80.0),
4: FixedColumnWidth(80.0),
},
defaultVerticalAlignment: TableCellVerticalAlignment.middle,
border: TableBorder.all(
color: Colors.orangeAccent, width: 1.0, style: BorderStyle.solid),
children: data
.map((item) => TableRow(children: <Widget>[
Center(
child: Text(
item.name,
style: TextStyle(color: Colors.blue),
)),
Padding(
padding: const EdgeInsets.all(8.0),
child: Center(child: Text(item.symbol)),
),
Padding(
padding: const EdgeInsets.all(8.0),
child: Center(child: Text(item.unitSymbol)),
),
Padding(
padding: const EdgeInsets.all(8.0),
child: Center(child: Text(item.unitName)),
),
Padding(
padding: const EdgeInsets.all(8.0),
child: Center(child: Text(item.unit)),
),
]))
.toList(),
),
);
}
}
class _ItemBean {
String name;
String symbol;
String unit;
String unitName;
String unitSymbol;
_ItemBean(this.name, this.symbol, this.unit, this.unitName, this.unitSymbol);
}