drawer_header.dart 1.47 KB
Newer Older
1 2 3 4
// 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.

5
import 'package:flutter/widgets.dart';
6

7
import 'constants.dart';
8
import 'debug.dart';
9
import 'theme.dart';
10 11 12 13

// TODO(jackson): This class should usually render the user's
// preferred banner image rather than a solid background

14 15
class DrawerHeader extends StatelessComponent {
  const DrawerHeader({ Key key, this.child }) : super(key: key);
16

17
  final Widget child;
18

19
  Widget build(BuildContext context) {
20
    assert(debugCheckHasMaterial(context));
21
    final double statusBarHeight = (MediaQuery.of(context)?.padding ?? EdgeDims.zero).top;
22
    return new Container(
23
      height: statusBarHeight + kMaterialDrawerHeight,
24
      decoration: new BoxDecoration(
25
        backgroundColor: Theme.of(context).cardColor,
26 27 28 29 30 31 32 33 34
        border: const Border(
          bottom: const BorderSide(
            color: const Color(0xFFD1D9E1),
            width: 1.0
          )
        )
      ),
      padding: const EdgeDims.only(bottom: 7.0),
      margin: const EdgeDims.only(bottom: 8.0),
35 36 37 38 39 40 41 42 43
      child: new Column(
        children: <Widget>[
          new Flexible(child: new Container()),
          new Container(
            padding: const EdgeDims.symmetric(horizontal: 16.0),
            child: new DefaultTextStyle(
              style: Theme.of(context).text.body2,
              child: child
            )
44
          )
45
        ]
46 47 48 49
      )
    );
  }
}