diff --git a/packages/flutter/lib/src/widgets/container.dart b/packages/flutter/lib/src/widgets/container.dart index 2d01ba3ea3..facfad323e 100644 --- a/packages/flutter/lib/src/widgets/container.dart +++ b/packages/flutter/lib/src/widgets/container.dart @@ -389,10 +389,9 @@ class Container extends StatelessWidget { maxHeight: 0.0, child: ConstrainedBox(constraints: const BoxConstraints.expand()), ); - } - - if (alignment != null) + } else if (alignment != null) { current = Align(alignment: alignment!, child: current); + } final EdgeInsetsGeometry? effectivePadding = _paddingIncludingDecoration; if (effectivePadding != null) diff --git a/packages/flutter/test/widgets/container_test.dart b/packages/flutter/test/widgets/container_test.dart index 79d00f7197..f322a4d0a0 100644 --- a/packages/flutter/test/widgets/container_test.dart +++ b/packages/flutter/test/widgets/container_test.dart @@ -633,6 +633,21 @@ void main() { expect(tapped, false); }); + testWidgets('Container discards alignment when the child parameter is null and constraints is not Tight', (WidgetTester tester) async { + await tester.pumpWidget( + Container( + decoration: const BoxDecoration( + borderRadius: BorderRadius.all(Radius.circular(1)), + ), + alignment: Alignment.centerLeft + )); + + expect( + find.byType(Align), + findsNothing, + ); + }); + testWidgets('using clipBehaviour and shadow, should not clip the shadow', (WidgetTester tester) async { final Container container = Container( clipBehavior: Clip.hardEdge,