diff --git a/packages/flutter/lib/src/material/checkbox_list_tile.dart b/packages/flutter/lib/src/material/checkbox_list_tile.dart index decde74b991..04266ff8269 100644 --- a/packages/flutter/lib/src/material/checkbox_list_tile.dart +++ b/packages/flutter/lib/src/material/checkbox_list_tile.dart @@ -499,58 +499,58 @@ class CheckboxListTile extends StatelessWidget { @override Widget build(BuildContext context) { - final Widget control; + Widget control; switch (_checkboxType) { case _CheckboxType.material: control = ExcludeFocus( - child: Transform.scale( - scale: checkboxScaleFactor, - child: Checkbox( - value: value, - onChanged: enabled ?? true ? onChanged : null, - mouseCursor: mouseCursor, - activeColor: activeColor, - fillColor: fillColor, - checkColor: checkColor, - hoverColor: hoverColor, - overlayColor: overlayColor, - splashRadius: splashRadius, - materialTapTargetSize: materialTapTargetSize ?? MaterialTapTargetSize.shrinkWrap, - autofocus: autofocus, - tristate: tristate, - shape: checkboxShape, - side: side, - isError: isError, - semanticLabel: checkboxSemanticLabel, - ), + child: Checkbox( + value: value, + onChanged: enabled ?? true ? onChanged : null, + mouseCursor: mouseCursor, + activeColor: activeColor, + fillColor: fillColor, + checkColor: checkColor, + hoverColor: hoverColor, + overlayColor: overlayColor, + splashRadius: splashRadius, + materialTapTargetSize: materialTapTargetSize ?? MaterialTapTargetSize.shrinkWrap, + autofocus: autofocus, + tristate: tristate, + shape: checkboxShape, + side: side, + isError: isError, + semanticLabel: checkboxSemanticLabel, ), ); case _CheckboxType.adaptive: control = ExcludeFocus( - child: Transform.scale( - scale: checkboxScaleFactor, - child: Checkbox.adaptive( - value: value, - onChanged: enabled ?? true ? onChanged : null, - mouseCursor: mouseCursor, - activeColor: activeColor, - fillColor: fillColor, - checkColor: checkColor, - hoverColor: hoverColor, - overlayColor: overlayColor, - splashRadius: splashRadius, - materialTapTargetSize: materialTapTargetSize ?? MaterialTapTargetSize.shrinkWrap, - autofocus: autofocus, - tristate: tristate, - shape: checkboxShape, - side: side, - isError: isError, - semanticLabel: checkboxSemanticLabel, - ), + child: Checkbox.adaptive( + value: value, + onChanged: enabled ?? true ? onChanged : null, + mouseCursor: mouseCursor, + activeColor: activeColor, + fillColor: fillColor, + checkColor: checkColor, + hoverColor: hoverColor, + overlayColor: overlayColor, + splashRadius: splashRadius, + materialTapTargetSize: materialTapTargetSize ?? MaterialTapTargetSize.shrinkWrap, + autofocus: autofocus, + tristate: tristate, + shape: checkboxShape, + side: side, + isError: isError, + semanticLabel: checkboxSemanticLabel, ), ); } + if (checkboxScaleFactor != 1.0) { + control = Transform.scale( + scale: checkboxScaleFactor, + child: control, + ); + } final ListTileThemeData listTileTheme = ListTileTheme.of(context); final ListTileControlAffinity effectiveControlAffinity = diff --git a/packages/flutter/test/material/checkbox_list_tile_test.dart b/packages/flutter/test/material/checkbox_list_tile_test.dart index c32bacd9785..700348861e6 100644 --- a/packages/flutter/test/material/checkbox_list_tile_test.dart +++ b/packages/flutter/test/material/checkbox_list_tile_test.dart @@ -1277,14 +1277,12 @@ void main() { ), )); - final Transform widget = tester.widget( - find.ancestor( + final Finder transformFinder = find.ancestor( of: find.byType(Checkbox), matching: find.byType(Transform), - ), ); - expect(widget.transform.getMaxScaleOnAxis(), 1.0); + expect(transformFinder, findsNothing); }); testWidgets('CheckboxListTile respects checkboxScaleFactor', (WidgetTester tester) async {