OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 import '../fn.dart'; | 5 import '../fn.dart'; |
6 import '../layout.dart'; | 6 import '../layout.dart'; |
7 import '../theme/view_configuration.dart'; | 7 import '../theme/view_configuration.dart'; |
8 import 'material.dart'; | 8 import 'material.dart'; |
9 | 9 |
10 class ActionBar extends Component { | 10 class ActionBar extends Component { |
11 static final Style _style = new Style(''' | 11 static final Style _style = new Style(''' |
12 align-items: center; | 12 align-items: center; |
13 height: 56px; | 13 height: 56px; |
14 padding: 0 8px; | 14 padding: 0 8px; |
15 transition: background-color 0.3s; | 15 transition: background-color 0.3s; |
16 padding-top: ${kStatusBarHeight}px;'''); | 16 padding-top: ${kStatusBarHeight}px;'''); |
17 | 17 |
18 static Style _centerStyle = new Style(''' | 18 static Style _centerStyle = new Style(''' |
19 padding-left: 24px; | 19 padding-left: 24px;'''); |
20 flex: 1;'''); | 20 |
| 21 static FlexBoxParentData _centerLayoutSettings = new FlexBoxParentData()..flex
= 1; |
21 | 22 |
22 UINode left; | 23 UINode left; |
23 UINode center; | 24 UINode center; |
24 List<UINode> right; | 25 List<UINode> right; |
25 | 26 |
26 ActionBar({ | 27 ActionBar({ |
27 String key, | 28 String key, |
28 this.left, | 29 this.left, |
29 this.center, | 30 this.center, |
30 this.right | 31 this.right |
31 }) : super(key: key); | 32 }) : super(key: key); |
32 | 33 |
33 UINode build() { | 34 UINode build() { |
34 List<UINode> children = [left, new StyleNode(center, _centerStyle)]; | 35 List<UINode> children = [left, new StyleNode(new ParentDataNode(center, _cen
terLayoutSettings), _centerStyle)]; |
35 | 36 |
36 if (right != null) | 37 if (right != null) |
37 children.addAll(right); | 38 children.addAll(right); |
38 | 39 |
39 return new Material( | 40 return new Material( |
40 content: new FlexContainer( | 41 content: new FlexContainer( |
41 style: _style, | 42 style: _style, |
42 children: children, | 43 children: children, |
43 direction: FlexDirection.Row), | 44 direction: FlexDirection.Row), |
44 level: 2); | 45 level: 2); |
45 } | 46 } |
46 } | 47 } |
OLD | NEW |