4
4
5
5
import 'package:flutter/widgets.dart' ;
6
6
7
+ import 'checkbox_theme.dart' ;
7
8
import 'constants.dart' ;
8
9
import 'debug.dart' ;
9
10
import 'material_state.dart' ;
@@ -403,11 +404,12 @@ class _CheckboxState extends State<Checkbox> with TickerProviderStateMixin, Togg
403
404
Widget build (BuildContext context) {
404
405
assert (debugCheckHasMaterial (context));
405
406
final ThemeData themeData = Theme .of (context);
407
+ final CheckboxThemeData checkboxTheme = CheckboxTheme .of (context);
406
408
final MaterialTapTargetSize effectiveMaterialTapTargetSize = widget.materialTapTargetSize
407
- ?? themeData. checkboxTheme.materialTapTargetSize
409
+ ?? checkboxTheme.materialTapTargetSize
408
410
?? themeData.materialTapTargetSize;
409
411
final VisualDensity effectiveVisualDensity = widget.visualDensity
410
- ?? themeData. checkboxTheme.visualDensity
412
+ ?? checkboxTheme.visualDensity
411
413
?? themeData.visualDensity;
412
414
Size size;
413
415
switch (effectiveMaterialTapTargetSize) {
@@ -422,7 +424,7 @@ class _CheckboxState extends State<Checkbox> with TickerProviderStateMixin, Togg
422
424
423
425
final MaterialStateProperty <MouseCursor > effectiveMouseCursor = MaterialStateProperty .resolveWith <MouseCursor >((Set <MaterialState > states) {
424
426
return MaterialStateProperty .resolveAs <MouseCursor ?>(widget.mouseCursor, states)
425
- ?? themeData. checkboxTheme.mouseCursor? .resolve (states)
427
+ ?? checkboxTheme.mouseCursor? .resolve (states)
426
428
?? MaterialStateMouseCursor .clickable.resolve (states);
427
429
});
428
430
@@ -432,37 +434,37 @@ class _CheckboxState extends State<Checkbox> with TickerProviderStateMixin, Togg
432
434
final Set <MaterialState > inactiveStates = states..remove (MaterialState .selected);
433
435
final Color effectiveActiveColor = widget.fillColor? .resolve (activeStates)
434
436
?? _widgetFillColor.resolve (activeStates)
435
- ?? themeData. checkboxTheme.fillColor? .resolve (activeStates)
437
+ ?? checkboxTheme.fillColor? .resolve (activeStates)
436
438
?? _defaultFillColor.resolve (activeStates);
437
439
final Color effectiveInactiveColor = widget.fillColor? .resolve (inactiveStates)
438
440
?? _widgetFillColor.resolve (inactiveStates)
439
- ?? themeData. checkboxTheme.fillColor? .resolve (inactiveStates)
441
+ ?? checkboxTheme.fillColor? .resolve (inactiveStates)
440
442
?? _defaultFillColor.resolve (inactiveStates);
441
443
442
444
final Set <MaterialState > focusedStates = states..add (MaterialState .focused);
443
445
final Color effectiveFocusOverlayColor = widget.overlayColor? .resolve (focusedStates)
444
446
?? widget.focusColor
445
- ?? themeData. checkboxTheme.overlayColor? .resolve (focusedStates)
447
+ ?? checkboxTheme.overlayColor? .resolve (focusedStates)
446
448
?? themeData.focusColor;
447
449
448
450
final Set <MaterialState > hoveredStates = states..add (MaterialState .hovered);
449
451
final Color effectiveHoverOverlayColor = widget.overlayColor? .resolve (hoveredStates)
450
452
?? widget.hoverColor
451
- ?? themeData. checkboxTheme.overlayColor? .resolve (hoveredStates)
453
+ ?? checkboxTheme.overlayColor? .resolve (hoveredStates)
452
454
?? themeData.hoverColor;
453
455
454
456
final Set <MaterialState > activePressedStates = activeStates..add (MaterialState .pressed);
455
457
final Color effectiveActivePressedOverlayColor = widget.overlayColor? .resolve (activePressedStates)
456
- ?? themeData. checkboxTheme.overlayColor? .resolve (activePressedStates)
458
+ ?? checkboxTheme.overlayColor? .resolve (activePressedStates)
457
459
?? effectiveActiveColor.withAlpha (kRadialReactionAlpha);
458
460
459
461
final Set <MaterialState > inactivePressedStates = inactiveStates..add (MaterialState .pressed);
460
462
final Color effectiveInactivePressedOverlayColor = widget.overlayColor? .resolve (inactivePressedStates)
461
- ?? themeData. checkboxTheme.overlayColor? .resolve (inactivePressedStates)
463
+ ?? checkboxTheme.overlayColor? .resolve (inactivePressedStates)
462
464
?? effectiveActiveColor.withAlpha (kRadialReactionAlpha);
463
465
464
466
final Color effectiveCheckColor = widget.checkColor
465
- ?? themeData. checkboxTheme.checkColor? .resolve (states)
467
+ ?? checkboxTheme.checkColor? .resolve (states)
466
468
?? const Color (0xFFFFFFFF );
467
469
468
470
return Semantics (
@@ -481,7 +483,7 @@ class _CheckboxState extends State<Checkbox> with TickerProviderStateMixin, Togg
481
483
..reactionColor = effectiveActivePressedOverlayColor
482
484
..hoverColor = effectiveHoverOverlayColor
483
485
..focusColor = effectiveFocusOverlayColor
484
- ..splashRadius = widget.splashRadius ?? themeData. checkboxTheme.splashRadius ?? kRadialReactionRadius
486
+ ..splashRadius = widget.splashRadius ?? checkboxTheme.splashRadius ?? kRadialReactionRadius
485
487
..downPosition = downPosition
486
488
..isFocused = states.contains (MaterialState .focused)
487
489
..isHovered = states.contains (MaterialState .hovered)
@@ -490,10 +492,10 @@ class _CheckboxState extends State<Checkbox> with TickerProviderStateMixin, Togg
490
492
..checkColor = effectiveCheckColor
491
493
..value = value
492
494
..previousValue = _previousValue
493
- ..shape = widget.shape ?? themeData. checkboxTheme.shape ?? const RoundedRectangleBorder (
495
+ ..shape = widget.shape ?? checkboxTheme.shape ?? const RoundedRectangleBorder (
494
496
borderRadius: BorderRadius .all (Radius .circular (1.0 )),
495
497
)
496
- ..side = _resolveSide (widget.side) ?? _resolveSide (themeData. checkboxTheme.side),
498
+ ..side = _resolveSide (widget.side) ?? _resolveSide (checkboxTheme.side),
497
499
),
498
500
);
499
501
}
0 commit comments