Visibility constructor

const Visibility({Key key, @required Widget child, Widget replacement: const SizedBox.shrink(), bool visible: true, bool maintainState: false, bool maintainAnimation: false, bool maintainSize: false, bool maintainSemantics: false, bool maintainInteractivity: false })

Control whether the given child is visible.

The child and replacement arguments must not be null.

The boolean arguments must not be null.

The maintainSemantics and maintainInteractivity arguments can only be set if maintainSize is set.

The maintainSize argument can only be set if maintainAnimation is set.

The maintainAnimation argument can only be set if maintainState is set.


const Visibility({
  Key key,
  @required this.child,
  this.replacement = const SizedBox.shrink(),
  this.visible = true,
  this.maintainState = false,
  this.maintainAnimation = false,
  this.maintainSize = false,
  this.maintainSemantics = false,
  this.maintainInteractivity = false,
}) : assert(child != null),
     assert(replacement != null),
     assert(visible != null),
     assert(maintainState != null),
     assert(maintainAnimation != null),
     assert(maintainSize != null),
     assert(maintainState == true || maintainAnimation == false, 'Cannot maintain animations if the state is not also maintained.'),
     assert(maintainAnimation == true || maintainSize == false, 'Cannot maintain size if animations are not maintained.'),
     assert(maintainSize == true || maintainSemantics == false, 'Cannot maintain semantics if size is not maintained.'),
     assert(maintainSize == true || maintainInteractivity == false, 'Cannot maintain interactivity if size is not maintained.'),
     super(key: key);