persistent_bottom_sheet_demo.dart 1.64 KB
Newer Older
1 2 3 4 5 6
// 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';

7
class PersistentBottomSheetDemo extends StatelessWidget {
8 9 10 11 12 13 14

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

15
  void showBottomSheet(BuildContext context) {
16 17 18 19 20 21
    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(
22
          padding: const EdgeInsets.all(32.0),
23 24 25 26 27 28
          child: new Text("This is a Material persistent bottom sheet. Drag downwards to dismiss it.", style: textStyle)
        )
      );
    });
  }

29
  @override
30 31
  Widget build(BuildContext notUsed) { // Can't find the Scaffold from this context.
    return new Scaffold(
32
      appBar: new AppBar(title: new Text("Persistent Bottom Sheet")),
33
      floatingActionButton: new FloatingActionButton(
34
        child: new Icon(icon: Icons.add),
35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
        backgroundColor: Colors.redAccent[200]
      ),
      body: new Builder(
        builder: (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)
              )
            )
          );
        }
50 51 52 53
      )
    );
  }
}