toggle function

Widget toggle(
  1. dynamic first, {
  2. Key? key,
  3. AlignmentGeometry? alignment,
  4. bool isSliver = false,
  5. bool isShown = true,
})

Implementation

Widget toggle(first,
    {Key? key,
    AlignmentGeometry? alignment,
    bool isSliver = false,
    bool isShown = true}) {
  return AnimatedCrossFade(
    key: key,
    firstChild: Builder(
      builder: (context) {
        if (isShown == true) {
          return (first is Widget ? first : first(context)) as Widget;
        } else {
          return isSliver ? sliverEmptyBox : emptyBox;
        }
      },
    ),
    secondChild: emptyBox,
    alignment: alignment = Alignment.centerLeft,
    crossFadeState:
        isShown ? CrossFadeState.showFirst : CrossFadeState.showSecond,
    duration: 300.ms,
    layoutBuilder: defaultLayoutBuilder,
  );
}