persistent_bottom_sheet_demo.dart 1.58 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
// Copyright 2015 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

import 'package:flutter/material.dart';

import 'widget_demo.dart';

class PersistentBottomSheetDemo extends StatelessComponent {

  final TextStyle textStyle = new TextStyle(
    color: Colors.indigo[400],
    fontSize: 24.0,
    textAlign: TextAlign.center
  );

  void _showBottomSheet(BuildContext context) {
    Scaffold.of(context).showBottomSheet((_) {
      return new Container(
        decoration: new BoxDecoration(
          border: new Border(top: new BorderSide(color: Colors.black26, width: 1.0))
        ),
        child: new Padding(
          padding: const EdgeDims.all(32.0),
          child: new Text("This is a Material persistent bottom sheet. Drag downwards to dismiss it.", style: textStyle)
        )
      );
    });
  }

  Widget build(BuildContext context) {
    return new Center(
      child: new Container(
        width: 200.0,
        height: 200.0,
        child: new RaisedButton(
          onPressed: () { _showBottomSheet(context); },
          child: new Text('Show the persistent bottom sheet', style: textStyle)
        )
      )
    );
  }
}

final WidgetDemo kPersistentBottomSheetDemo = new WidgetDemo(
  title: 'Persistent Bottom Sheet',
  routeName: '/persistentBottomSheet',
  builder: (_) => new PersistentBottomSheetDemo(),
  floatingActionButtonBuilder: (_) {
    return new FloatingActionButton(
      child: new Icon(icon: 'content/add'),
      backgroundColor: Colors.redAccent[200]
    );
  }
);