@@ -9,15 +9,42 @@ import 'package:flutter/widgets.dart';
9
9
10
10
import 'ink_well.dart' ;
11
11
import 'material.dart' ;
12
- import 'popup_menu_item .dart' ;
12
+ import 'theme .dart' ;
13
13
14
14
const Duration _kMenuDuration = const Duration (milliseconds: 300 );
15
+ const double _kBaselineOffsetFromBottom = 20.0 ;
15
16
const double _kMenuCloseIntervalEnd = 2.0 / 3.0 ;
16
- const double _kMenuWidthStep = 56.0 ;
17
- const double _kMenuMinWidth = 2.0 * _kMenuWidthStep;
18
- const double _kMenuMaxWidth = 5.0 * _kMenuWidthStep;
19
17
const double _kMenuHorizontalPadding = 16.0 ;
18
+ const double _kMenuItemHeight = 48.0 ;
19
+ const double _kMenuMaxWidth = 5.0 * _kMenuWidthStep;
20
+ const double _kMenuMinWidth = 2.0 * _kMenuWidthStep;
20
21
const double _kMenuVerticalPadding = 8.0 ;
22
+ const double _kMenuWidthStep = 56.0 ;
23
+
24
+ class PopupMenuItem <T > extends StatelessComponent {
25
+ PopupMenuItem ({
26
+ Key key,
27
+ this .value,
28
+ this .child
29
+ }) : super (key: key);
30
+
31
+ final Widget child;
32
+ final T value;
33
+
34
+ Widget build (BuildContext context) {
35
+ return new Container (
36
+ height: _kMenuItemHeight,
37
+ padding: const EdgeDims .symmetric (horizontal: _kMenuHorizontalPadding),
38
+ child: new DefaultTextStyle (
39
+ style: Theme .of (context).text.subhead,
40
+ child: new Baseline (
41
+ baseline: _kMenuItemHeight - _kBaselineOffsetFromBottom,
42
+ child: child
43
+ )
44
+ )
45
+ );
46
+ }
47
+ }
21
48
22
49
class _PopupMenu <T > extends StatelessComponent {
23
50
_PopupMenu ({
@@ -71,7 +98,6 @@ class _PopupMenu<T> extends StatelessComponent {
71
98
child: new Block (
72
99
children,
73
100
padding: const EdgeDims .symmetric (
74
- horizontal: _kMenuHorizontalPadding,
75
101
vertical: _kMenuVerticalPadding
76
102
)
77
103
)
0 commit comments