From df1c158e0b4e444bb13e0fa39844a8760c4ffb5f Mon Sep 17 00:00:00 2001 From: Hans Muller Date: Fri, 3 Jun 2016 14:10:50 -0700 Subject: [PATCH] Updated calculator demo (#4363) --- .../lib/demo/calculator_demo.dart | 96 ++++++++++--------- 1 file changed, 51 insertions(+), 45 deletions(-) diff --git a/examples/flutter_gallery/lib/demo/calculator_demo.dart b/examples/flutter_gallery/lib/demo/calculator_demo.dart index 1fd5da58f4..a456c0217b 100644 --- a/examples/flutter_gallery/lib/demo/calculator_demo.dart +++ b/examples/flutter_gallery/lib/demo/calculator_demo.dart @@ -121,6 +121,7 @@ class _CalculatorState extends State { children: [ // Give the key-pad 3/5 of the vertical space and the display 2/5. new CalcDisplay(2, _expression.toString()), + new Divider(height: 1.0), new KeyPad(3, calcState: this) ] ) @@ -141,7 +142,7 @@ class CalcDisplay extends StatelessWidget { child: new Center( child: new Text( _contents, - style: const TextStyle(color: Colors.black, fontSize: 24.0) + style: const TextStyle(fontSize: 24.0) ) ) ); @@ -156,13 +157,21 @@ class KeyPad extends StatelessWidget { @override Widget build(BuildContext context) { - return new Flexible( - flex: _flex, - child: new Row( - children: [ - new MainKeyPad(calcState: calcState), - new OpKeyPad(calcState: calcState), - ] + return new Theme( + data: new ThemeData( + primarySwatch: Colors.purple, + brightness: ThemeBrightness.dark + ), + child: new Flexible( + flex: _flex, + child: new Material( + child: new Row( + children: [ + new MainKeyPad(calcState: calcState), + new OpKeyPad(calcState: calcState), + ] + ) + ) ) ); } @@ -180,33 +189,29 @@ class MainKeyPad extends StatelessWidget { // and the op keypad have sizes proportional to their number of // columns. flex: 3, - child: new Material( - elevation: 12, - color: Colors.grey[800], - child: new Column( - children: [ - new KeyRow([ - new NumberKey(7, calcState), - new NumberKey(8, calcState), - new NumberKey(9, calcState) - ]), - new KeyRow([ - new NumberKey(4, calcState), - new NumberKey(5, calcState), - new NumberKey(6, calcState) - ]), - new KeyRow([ - new NumberKey(1, calcState), - new NumberKey(2, calcState), - new NumberKey(3, calcState) - ]), - new KeyRow([ - new CalcKey('.', calcState.handlePointTap), - new NumberKey(0, calcState), - new CalcKey('=', calcState.handleEqualsTap), - ]) - ] - ) + child: new Column( + children: [ + new KeyRow([ + new NumberKey(7, calcState), + new NumberKey(8, calcState), + new NumberKey(9, calcState) + ]), + new KeyRow([ + new NumberKey(4, calcState), + new NumberKey(5, calcState), + new NumberKey(6, calcState) + ]), + new KeyRow([ + new NumberKey(1, calcState), + new NumberKey(2, calcState), + new NumberKey(3, calcState) + ]), + new KeyRow([ + new CalcKey('.', calcState.handlePointTap), + new NumberKey(0, calcState), + new CalcKey('=', calcState.handleEqualsTap), + ]) + ] ) ); } @@ -219,10 +224,10 @@ class OpKeyPad extends StatelessWidget { @override Widget build(BuildContext context) { + final ThemeData themeData = Theme.of(context); return new Flexible( child: new Material( - elevation: 24, - color: Colors.grey[700], + color: themeData.backgroundColor, child: new Column( children: [ new CalcKey('\u232B', calcState.handleDelTap), @@ -260,18 +265,19 @@ class CalcKey extends StatelessWidget { @override Widget build(BuildContext context) { + final Orientation orientation = MediaQuery.of(context).orientation; return new Flexible( -// child: new Container( - child: new InkResponse( - onTap: this.onTap, - child: new Center( - child: new Text( - this.text, - style: const TextStyle(color: Colors.white, fontSize: 32.0) + child: new InkResponse( + onTap: this.onTap, + child: new Center( + child: new Text( + this.text, + style: new TextStyle( + fontSize: (orientation == Orientation.portrait) ? 32.0 : 24.0 ) ) ) -// ) + ) ); } }