-
Notifications
You must be signed in to change notification settings - Fork 107
/
Copy pathcolumn.dart
85 lines (76 loc) · 2.42 KB
/
column.dart
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
// Copyright 2013 The Flutter Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
import 'dart:async';
import 'package:flutter/material.dart';
import 'diagram_step.dart';
const String _column = 'column';
const String _columnWithProperties = 'column_properties';
class ColumnDiagram extends StatelessWidget with DiagramMetadata {
const ColumnDiagram(this.name, {super.key});
@override
final String name;
@override
Widget build(BuildContext context) {
Widget returnWidget;
switch (name) {
case _column:
returnWidget = const Column(
children: <Widget>[
Text('Deliver features faster'),
Text('Craft beautiful UIs'),
Expanded(child: FittedBox(child: FlutterLogo())),
],
);
break;
case _columnWithProperties:
returnWidget = Column(
crossAxisAlignment: CrossAxisAlignment.start,
mainAxisSize: MainAxisSize.min,
children: <Widget>[
const Text('We move under cover and we move as one'),
const Text(
'Through the night, we have one shot to live another day',
),
const Text('We cannot let a stray gunshot give us away'),
const Text(
'We will fight up close, seize the moment and stay in it',
),
const Text(
'It’s either that or meet the business end of a bayonet',
),
const Text('The code word is ‘Rochambeau,’ dig me?'),
Text(
'Rochambeau!',
style: DefaultTextStyle.of(
context,
).style.apply(fontSizeFactor: 2.0),
),
],
);
break;
default:
returnWidget = const Text('Error');
break;
}
return ConstrainedBox(
key: UniqueKey(),
constraints: BoxConstraints.tight(const Size(400.0, 250.0)),
child: Container(
alignment: FractionalOffset.center,
padding: const EdgeInsets.all(5.0),
color: Colors.white,
child: returnWidget,
),
);
}
}
class ColumnDiagramStep extends DiagramStep {
@override
final String category = 'widgets';
@override
Future<List<ColumnDiagram>> get diagrams async => <ColumnDiagram>[
const ColumnDiagram(_column),
const ColumnDiagram(_columnWithProperties),
];
}