toggleStream function
Widget
toggleStream(
- Widget first, {
- Key? key,
- AlignmentGeometry? alignment,
- required ValueStream<
bool> isShown,
Implementation
Widget toggleStream(Widget first,
{Key? key,
AlignmentGeometry? alignment,
required ValueStream<bool> isShown}) {
return StreamBuilder<bool>(
key: key,
initialData: isShown.get()?.resolve(false) ?? false,
stream: isShown.flatten() as Stream<bool>?,
builder: (context, snap) => AnimatedCrossFade(
firstChild: snap.data == true ? first : emptyBox,
secondChild: emptyBox,
alignment: alignment = Alignment.centerLeft,
crossFadeState: (snap.data == true)
? CrossFadeState.showFirst
: CrossFadeState.showSecond,
duration: 200.milliseconds,
layoutBuilder: defaultLayoutBuilder,
),
);
}