diff --git a/lib/screens/metering/components/exposure_pairs_list/components/exposure_pair_item.dart b/lib/screens/metering/components/exposure_pairs_list/components/exposure_pair_item.dart index d2747b8..b640e55 100644 --- a/lib/screens/metering/components/exposure_pairs_list/components/exposure_pair_item.dart +++ b/lib/screens/metering/components/exposure_pairs_list/components/exposure_pair_item.dart @@ -23,6 +23,7 @@ class ExposurePaitListItem extends StatelessWidg width: tickLength(), ), ), + if (value.stopType != StopType.full) const SizedBox(width: Dimens.grid8), ]; return Row( mainAxisAlignment: tickOnTheLeft ? MainAxisAlignment.start : MainAxisAlignment.end, diff --git a/lib/screens/metering/components/exposure_pairs_list/exposure_pairs_list.dart b/lib/screens/metering/components/exposure_pairs_list/exposure_pairs_list.dart index 23dd10e..1583ca8 100644 --- a/lib/screens/metering/components/exposure_pairs_list/exposure_pairs_list.dart +++ b/lib/screens/metering/components/exposure_pairs_list/exposure_pairs_list.dart @@ -16,26 +16,51 @@ class ExposurePairsList extends StatelessWidget { Positioned.fill( child: ListView.builder( key: ValueKey(exposurePairs.hashCode), + padding: const EdgeInsets.all(Dimens.paddingL), itemCount: exposurePairs.length, - itemBuilder: (_, index) => Row( - mainAxisAlignment: MainAxisAlignment.center, + itemBuilder: (_, index) => Stack( + alignment: Alignment.center, children: [ - Expanded( - child: Align( - alignment: Alignment.centerLeft, - child: ExposurePaitListItem( - exposurePairs[index].aperture, - tickOnTheLeft: false, + Row( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Expanded( + child: Align( + alignment: Alignment.centerLeft, + child: ExposurePaitListItem( + exposurePairs[index].aperture, + tickOnTheLeft: false, + ), + ), ), - ), + Expanded( + child: Align( + alignment: Alignment.centerLeft, + child: ExposurePaitListItem( + exposurePairs[index].shutterSpeed, + tickOnTheLeft: true, + ), + ), + ), + ], ), - const SizedBox(width: Dimens.grid16), - Expanded( - child: Align( - alignment: Alignment.centerLeft, - child: ExposurePaitListItem( - exposurePairs[index].shutterSpeed, - tickOnTheLeft: true, + Positioned( + top: 0, + bottom: 0, + child: LayoutBuilder( + builder: (context, constraints) => Align( + alignment: index == 0 + ? Alignment.bottomCenter + : (index == exposurePairs.length - 1 ? Alignment.topCenter : Alignment.center), + child: SizedBox( + height: index == 0 || index == exposurePairs.length - 1 + ? constraints.maxHeight / 2 + : constraints.maxHeight, + child: ColoredBox( + color: Theme.of(context).colorScheme.onBackground, + child: const SizedBox(width: 1), + ), + ), ), ), ), @@ -43,14 +68,6 @@ class ExposurePairsList extends StatelessWidget { ), ), ), - Positioned( - top: 0, - bottom: 0, - child: ColoredBox( - color: Theme.of(context).colorScheme.onBackground, - child: const SizedBox(width: 1), - ), - ), ], ); }