| // 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/painting.dart'; |
| |
| import 'framework.dart'; |
| |
| class Container extends StatelessWidget { |
| final Widget? child; |
| |
| /// Align the [child] within the container. |
| /// |
| /// If non-null, the container will expand to fill its parent and position its |
| /// child within itself according to the given value. If the incoming |
| /// constraints are unbounded, then the child will be shrink-wrapped instead. |
| /// |
| /// Ignored if [child] is null. |
| /// |
| /// See also: |
| /// |
| /// * [Alignment], a class with convenient constants typically used to |
| /// specify an [AlignmentGeometry]. |
| /// * [AlignmentDirectional], like [Alignment] for specifying alignments |
| /// relative to text direction. |
| final AlignmentGeometry? alignment; |
| |
| /// Empty space to inscribe inside the [decoration]. The [child], if any, is |
| /// placed inside this padding. |
| /// |
| /// This padding is in addition to any padding inherent in the [decoration]; |
| /// see [Decoration.padding]. |
| final EdgeInsetsGeometry? padding; |
| |
| /// The decoration to paint behind the [child]. |
| /// |
| /// A shorthand for specifying just a solid color is available in the |
| /// constructor: set the `color` argument instead of the `decoration` |
| /// argument. |
| /// |
| /// The [child] is not clipped to the decoration. To clip a child to the shape |
| /// of a particular [ShapeDecoration], consider using a [ClipPath] widget. |
| final Decoration? decoration; |
| |
| /// The decoration to paint in front of the [child]. |
| final Decoration? foregroundDecoration; |
| |
| /// Empty space to surround the [decoration] and [child]. |
| final EdgeInsetsGeometry? margin; |
| |
| Container({ |
| Key? key, |
| this.alignment, |
| this.padding, |
| Color? color, |
| Decoration? decoration, |
| this.foregroundDecoration, |
| double? width, |
| double? height, |
| this.margin, |
| this.child, |
| }) : decoration = decoration, |
| super(key: key); |
| |
| @override |
| Widget build(BuildContext context) => child; |
| } |