Color? backgroundColor = _getBackgroundColor(context); assert( backgroundColor != null || widget.type == MaterialType.transparency, 'If Material type is not MaterialType.transparency, ‘a color must either be passed in through the ‘`color` property, or be defined in the theme', ); … if (widget.type == MaterialType.transparency) { return _transparentInterior( shape: shape, clipBehavior: widget.clipBehavior, contents: contents, ); } return _MaterialInterior(…); } USBOTQBSFODZͷ߹ɺ CBDLHSPVOE$PMPSOVMMͰ͋Δඞཁ͕͋Δ
Color? backgroundColor = _getBackgroundColor(context); assert( backgroundColor != null || widget.type == MaterialType.transparency, 'If Material type is not MaterialType.transparency, ‘a color must either be passed in through the ‘`color` property, or be defined in the theme', ); … if (widget.type == MaterialType.transparency) { return _transparentInterior( shape: shape, clipBehavior: widget.clipBehavior, contents: contents, ); } return _MaterialInterior(…); } FMFWBUJPOTIBQF͕มߋ͞Εͨͱ͖ʹ "OJNBUJPOΛ࣮ߦ͢Δ*NQMJDJUMZ"OJNBUFE8JEHFU
assert( backgroundColor != null || widget.type == MaterialType.transparency, 'If Material type is not MaterialType.transparency, ‘a color must either be passed in through the ‘`color` property, or be defined in the theme', ); … if (widget.type == MaterialType.transparency) { return _transparentInterior( shape: shape, clipBehavior: widget.clipBehavior, contents: contents, ); } return _MaterialInterior(…); }  90 MaterialType.transparencyによる挙動の違い Material static Widget _transparentInterior({… }) { final _ShapeBorderPaint child = _ShapeBorderPaint(…); return ClipPath( clipper: ShapeBorderClipper( shape: shape, textDirection:Directionality.maybeOf(context) ), … ); }
assert( backgroundColor != null || widget.type == MaterialType.transparency, 'If Material type is not MaterialType.transparency, ‘a color must either be passed in through the ‘`color` property, or be defined in the theme', ); … if (widget.type == MaterialType.transparency) { return _transparentInterior( shape: shape, clipBehavior: widget.clipBehavior, contents: contents, ); } return _MaterialInterior(…); } static Widget _transparentInterior({… }) { final _ShapeBorderPaint child = _ShapeBorderPaint(…); return ClipPath( clipper: ShapeBorderClipper( shape: shape, textDirection:Directionality.maybeOf(context) ), … ); }  91 MaterialType.transparencyによる挙動の違い Material USBOTQBSFODZͷ߹ɺ୯७ͳ4IBQF#PSEFS$MJQQFS 㱺.BUFSJBMಛ༗ͷ"OJNBUJPO͕ແޮʹͳ͍ͬͯΔ