flutter/examples/flutter_gallery/lib/demo/material/elevation_demo.dart
Will Larche 47cffd160c
[Gallery] Material elevations (shadows) demo (#20842)
* [Gallery] Elevations demo. TODO: Correct icon.

* [Gallery] More elevations for the elevation demo.

* [Gallery] Elevation toggle for elevation demo.

* [Demos] Update temp icon on elevations demo.

* [Demos] Changing action icon.

* [Demos] Same.

* [Demos] Adding new and const.

* [Demos] Reverting formatting.

* [Gallery] PR Feedback.
2018-08-22 13:02:35 -04:00

63 lines
1.4 KiB
Dart

import 'package:flutter/material.dart';
class ElevationDemo extends StatefulWidget {
static const String routeName = '/material/elevation';
@override
State<StatefulWidget> createState() => _ElevationDemoState();
}
class _ElevationDemoState extends State<ElevationDemo> {
bool _showElevation = true;
List<Widget> buildCards() {
const List<double> elevations = <double>[
0.0,
1.0,
2.0,
3.0,
4.0,
5.0,
8.0,
16.0,
24.0,
];
return elevations.map((double elevation) {
return new Center(
child: new Card(
margin: const EdgeInsets.all(20.0),
elevation: _showElevation ? elevation : 0.0,
child: new SizedBox(
height: 100.0,
width: 100.0,
child: new Center(
child: new Text('${elevation.toStringAsFixed(0)} pt'),
),
),
),
);
}).toList();
}
@override
Widget build(BuildContext context) {
return new Scaffold(
appBar: new AppBar(
title: const Text('Elevation'),
actions: <Widget>[
new IconButton(
icon: const Icon(Icons.sentiment_very_satisfied),
onPressed: () {
setState(() => _showElevation = !_showElevation);
},
)
],
),
body: new ListView(
children: buildCards(),
),
);
}
}