Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(224)

Side by Side Diff: sky/sdk/lib/widgets/floating_action_button.dart

Issue 1204523002: Material light and dark themes for Sky widgets (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: fix analyzer warning properly Created 5 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 '../theme/colors.dart';
6 import '../theme/edges.dart'; 5 import '../theme/edges.dart';
7 import 'basic.dart'; 6 import 'basic.dart';
8 import 'button_base.dart'; 7 import 'button_base.dart';
9 import 'ink_well.dart'; 8 import 'ink_well.dart';
10 import 'material.dart'; 9 import 'material.dart';
10 import 'theme.dart';
11 11
12 // TODO(eseidel): This needs to change based on device size? 12 // TODO(eseidel): This needs to change based on device size?
13 // http://www.google.com/design/spec/layout/metrics-keylines.html#metrics-keylin es-keylines-spacing 13 // http://www.google.com/design/spec/layout/metrics-keylines.html#metrics-keylin es-keylines-spacing
14 const double _kSize = 56.0; 14 const double _kSize = 56.0;
15 15
16 class FloatingActionButton extends ButtonBase { 16 class FloatingActionButton extends ButtonBase {
17 17
18 FloatingActionButton({ 18 FloatingActionButton({
19 String key, 19 String key,
20 this.child, 20 this.child,
21 Function onPressed 21 Function onPressed
22 }) : super(key: key); 22 }) : super(key: key);
23 23
24 Widget child; 24 Widget child;
25 Function onPressed; 25 Function onPressed;
26 26
27 void syncFields(FloatingActionButton source) { 27 void syncFields(FloatingActionButton source) {
28 super.syncFields(source); 28 super.syncFields(source);
29 child = source.child; 29 child = source.child;
30 onPressed = source.onPressed; 30 onPressed = source.onPressed;
31 } 31 }
32 32
33 Widget buildContent() { 33 Widget buildContent() {
34 return new Material( 34 return new Material(
35 color: Red[500], 35 color: Theme.of(this).accent[200],
36 edge: MaterialEdge.circle, 36 edge: MaterialEdge.circle,
37 level: highlight ? 3 : 2, 37 level: highlight ? 3 : 2,
38 child: new ClipOval( 38 child: new ClipOval(
39 child: new Listener( 39 child: new Listener(
40 onGestureTap: (_) { 40 onGestureTap: (_) {
41 if (onPressed != null) 41 if (onPressed != null)
42 onPressed(); 42 onPressed();
43 }, 43 },
44 child: new Container( 44 child: new Container(
45 width: _kSize, 45 width: _kSize,
46 height: _kSize, 46 height: _kSize,
47 child: new InkWell(child: new Center(child: child)) 47 child: new InkWell(child: new Center(child: child))
48 ) 48 )
49 ) 49 )
50 ) 50 )
51 ); 51 );
52 } 52 }
53 53
54 } 54 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698