build method
- BuildContext context
Returns a FadeTransition widget with a SizeTransition widget as child.
The FadeTransition widget is configured with the _animation as opacity.
The SizeTransition widget is configured with the _animation as sizeFactor,
and an axisAlignment of -1.0.
The SizeTransition widget has a GestureDetector widget as child,
which is configured with an onDoubleTap callback that calls _onClosePressed.
The GestureDetector widget has a Container widget as child, which is configured with a margin of SenseiConst.margin on the bottom only, and a padding of SenseiConst.padding on all sides.
The Container widget has a ListTile widget as child, which is configured with a subtitleTextStyle of a TextStyle with a color of Theme.of(context).colorScheme.onSecondaryContainer.
The ListTile widget has an Icon widget as leading, which is configured with an Icons.lightbulb_outline_rounded icon, a size of SenseiConst.iconSize, and a color of Theme.of(context).colorScheme.onSecondaryContainer.
The ListTile widget has a Text widget as title, which is configured with the AppLocalizations.of(context).AppName text, and a style of a TextStyle with a color of Theme.of(context).colorScheme.onSecondaryContainer.
The ListTile widget has a Text widget as subtitle, which is configured with the AppLocalizations.of(context).AppDescription text.
Implementation
@override
/// Returns a [FadeTransition] widget with a [SizeTransition] widget as child.
///
/// The [FadeTransition] widget is configured with the [_animation] as opacity.
///
/// The [SizeTransition] widget is configured with the [_animation] as sizeFactor,
/// and an [axisAlignment] of -1.0.
///
/// The [SizeTransition] widget has a [GestureDetector] widget as child,
/// which is configured with an [onDoubleTap] callback that calls [_onClosePressed].
///
/// The [GestureDetector] widget has a [Container] widget as child, which is
/// configured with a margin of [SenseiConst.margin] on the bottom only, and
/// a padding of [SenseiConst.padding] on all sides.
///
/// The [Container] widget has a [ListTile] widget as child, which is
/// configured with a subtitleTextStyle of a [TextStyle] with a color of
/// [Theme.of(context).colorScheme.onSecondaryContainer].
///
/// The [ListTile] widget has an [Icon] widget as leading, which is
/// configured with an [Icons.lightbulb_outline_rounded] icon, a size of
/// [SenseiConst.iconSize], and a color of
/// [Theme.of(context).colorScheme.onSecondaryContainer].
///
/// The [ListTile] widget has a [Text] widget as title, which is configured
/// with the [AppLocalizations.of(context).AppName] text, and a style of a [TextStyle] with
/// a color of [Theme.of(context).colorScheme.onSecondaryContainer].
///
/// The [ListTile] widget has a [Text] widget as subtitle, which is
/// configured with the [AppLocalizations.of(context).AppDescription] text.
Widget build(final BuildContext context) => FadeTransition(
opacity: _animation,
child: SizeTransition(
sizeFactor: _animation,
axisAlignment: -1.0,
child: GestureDetector(
onDoubleTap: _onClosePressed,
child: Container(
margin: const EdgeInsets.only(bottom: SenseiConst.margin),
padding: const EdgeInsets.all(SenseiConst.padding),
decoration: BoxDecoration(
border: Border.all(
color: Theme.of(context).colorScheme.outline.withAlpha(0x80),
),
borderRadius: BorderRadius.circular(SenseiConst.outBorderRadius),
color: Theme.of(context).colorScheme.surfaceContainer,
),
child: ListTile(
subtitleTextStyle: TextStyle(
color: Theme.of(context).colorScheme.onSurface,
),
leading: Icon(
Icons.lightbulb_outline_rounded,
size: SenseiConst.iconSize,
color: Theme.of(context).colorScheme.onSurface,
),
title: Text(AppLocalizations.of(context)!.appName),
subtitle: Text(
AppLocalizations.of(context)!.appDescription,
style: AppTextStyle(context).subtitle,
),
),
),
),
),
);