TitleValueView function

Widget TitleValueView(
  1. BuildContext context, {
  2. required List<Widget> left,
  3. List<Widget>? right,
  4. double itemSpace = 8,
  5. double minHeight = 48,
  6. double padX = 16,
  7. VoidCallback? onTap,
  8. VoidCallback? onDoubleTap,
})

Implementation

Widget TitleValueView(
  BuildContext context, {
  required List<Widget> left,
  List<Widget>? right,
  double itemSpace = 8,
  double minHeight = 48,
  double padX = 16,
  VoidCallback? onTap,
  VoidCallback? onDoubleTap,
}) {
  late Widget leftWidget;
  if (left.isEmpty) {
    leftWidget = "".text();
  } else if (left.length == 1) {
    leftWidget = left.first;
  } else {
    if (itemSpace > 0) {
      leftWidget = RowMin(left.gaped(() => space(width: itemSpace)));
    } else {
      leftWidget = RowMin(left);
    }
  }
  Widget w = RowMax([
    space(width: padX),
    DefaultTextStyle(style: context.themeData.textTheme.titleMedium!, child: leftWidget),
    const Spacer(),
    if (right != null) ...right.gaped(() => space(width: itemSpace)),
    space(width: padX),
  ], crossAxisAlignment: CrossAxisAlignment.center);
  if (onTap == null && onDoubleTap == null) return w.constrainedBox(minHeight: minHeight);
  return w.inkWell(onTap: onTap, onDoubleTap: onDoubleTap).constrainedBox(minHeight: minHeight);
}