mirror of
https://github.com/flutter/flutter
synced 2024-10-02 14:34:22 +00:00
c386acca54
fixes [`Checkbox` and Chips side with `MaterialStateBorderSide` doesn't lerp in their theme](https://github.com/flutter/flutter/issues/135136) ### Code sample <details> <summary>expand to view the code sample</summary> ```dart import 'package:flutter/material.dart'; import 'package:flutter_test/flutter_test.dart'; void main() { testWidgets('test', (WidgetTester tester) async { late ColorScheme colorScheme; Widget buildCheckbox({required Color seedColor}) { colorScheme = ColorScheme.fromSeed(seedColor: seedColor); return MaterialApp( theme: ThemeData( colorScheme: colorScheme, checkboxTheme: CheckboxThemeData( side: MaterialStateBorderSide.resolveWith( (Set<MaterialState> states) { return BorderSide( color: colorScheme.primary, width: 4.0, ); }), ), ), home: Scaffold( body: Center( child: Checkbox( value: false, onChanged: (_) {}, ), ), ), ); } await tester.pumpWidget(buildCheckbox(seedColor: Colors.red)); await tester.pumpAndSettle(); RenderBox getCheckboxRenderer() { return tester.renderObject<RenderBox>(find.byType(Checkbox)); } expect(getCheckboxRenderer(), paints..drrect(color: colorScheme.primary)); await Future<void>.delayed(const Duration(seconds: 3)); await tester.pumpWidget(buildCheckbox(seedColor: Colors.blue)); await tester.pump(); await Future<void>.delayed(const Duration(seconds: 3)); expect(getCheckboxRenderer(), paints..drrect(color: colorScheme.primary)); }); } ``` </details> | Before | After | | --------------- | --------------- | | <img src="https://github.com/flutter/flutter/assets/48603081/6df34104-37ba-4a82-b5cb-7ed4f887992a" /> | <img src="https://github.com/flutter/flutter/assets/48603081/44359248-a101-46eb-a85a-77f976da5f0f" /> | |
||
---|---|---|
.. | ||
flutter | ||
flutter_driver | ||
flutter_goldens | ||
flutter_localizations | ||
flutter_test | ||
flutter_tools | ||
flutter_web_plugins | ||
fuchsia_remote_debug_protocol | ||
integration_test | ||
analysis_options.yaml |