calorimeter/lib/utils/row_with_spacers_widget.dart

68 lines
1.9 KiB
Dart
Raw Normal View History

2024-12-07 12:29:34 +00:00
/* SPDX-License-Identifier: GPL-3.0-or-later */
2024-12-07 12:39:11 +00:00
/* Copyright (C) 2024 Marco Groß <mgross@sw-gross.de> */
2024-06-09 12:42:17 +00:00
import 'package:flutter/material.dart';
class RowWidget extends StatelessWidget {
2024-06-09 12:42:17 +00:00
final Widget? widget1;
final Widget? widget2;
final Widget? widget3;
final Widget? widget4;
final bool showDividers;
2024-06-09 12:42:17 +00:00
const RowWidget(this.widget1, this.widget2, this.widget3, this.widget4,
{super.key, required this.showDividers});
2024-06-09 12:42:17 +00:00
@override
Widget build(BuildContext context) {
return IntrinsicHeight(
child: ConstrainedBox(
constraints: BoxConstraints(minHeight: 48),
child: Row(
children: [
Expanded(
flex: 10,
child: Padding(
padding: const EdgeInsets.symmetric(horizontal: 4.0),
child: widget1 ?? Container(),
),
),
Opacity(
opacity: showDividers ? 1.0 : 0.0,
child: VerticalDivider(),
),
Expanded(
flex: 6,
child: Padding(
padding: const EdgeInsets.symmetric(horizontal: 4.0),
child: widget2 ?? Container(),
),
),
Opacity(
opacity: showDividers ? 1.0 : 0.0,
child: VerticalDivider(),
),
Expanded(
flex: 6,
child: Padding(
padding: const EdgeInsets.symmetric(horizontal: 4.0),
child: widget3 ?? Container(),
),
),
Opacity(
opacity: showDividers ? 1.0 : 0.0,
child: VerticalDivider(),
),
Expanded(
flex: 6,
child: Padding(
padding: const EdgeInsets.symmetric(horizontal: 4.0),
child: widget4 ?? Container(),
),
),
],
),
),
2024-06-09 12:42:17 +00:00
);
}
}