Surface class Null safety

🌟 Surface

A shapeable, layered, intrinsincally animated container Widget offering convenient access to blurring ImageFilters, Material InkResponse, and HapticFeedback.

Robustly customizable and, watch out, could also be expensive.


❗ See Consideration in library surface.dart

Regarding 👓 Filter.filteredLayers and 📊 Filter.radiusMap values.

Inheritance

Constructors

Surface({double? width, double? height, EdgeInsets margin = const EdgeInsets.all(0), EdgeInsets padding = const EdgeInsets.all(0), Color? color, Color? baseColor, Gradient? gradient, Gradient? baseGradient, Shape shape = const Shape(), Peek peek = Peek.DEFAULT, TapSpec tapSpec = const TapSpec(), Filter filter = Filter.DEFAULT, Duration duration = const Duration(milliseconds: 500), Curve curve = Curves.easeIn, Widget? child, Clip clipBehavior = Clip.hardEdge, Key? key})
🌟 Surface [...]
const

Properties

baseColor Color?
The 🎨 Color to use for this 🌟 Surface. [...]
final
baseGradient Gradient?
The 🌆 Gradient to use for this 🌟 Surface. [...]
final
child Widget?
The 👶 child Widget to render inside as the Surface content after considering all layout parameters.
final
clipBehavior Clip
Defaults to standard Clip.hardEdge. Must not be Clip.none.
final
color Color?
The 🎨 Color to use for this 🌟 Surface. [...]
final
curve Curve
The Curve that the internal AnimatedContainers use for intrinsic property-change animations.
final
duration Duration
The Duration that the internal AnimatedContainers use for intrinsic property-change animations.
final
filter Filter
Provided a 🔬 Filter to alter filter appearance at all 📚 SurfaceLayers. [...]
final
gradient Gradient?
The 🌆 Gradient to use for this 🌟 Surface. [...]
final
hashCode int
The hash code for this object. [...]
@nonVirtual, read-only, inherited
height double?
The width and height for this 🌟 Surface, following the rules of AnimatedContainer & applying directly to the 📚 SurfaceLayer.BASE.
final
key Key?
Controls how one widget replaces another widget in the tree. [...]
final, inherited
margin EdgeInsets
margin applies to 📚 SurfaceLayer.BASE and the 🌟 Surface as a whole. [...]
final
padding EdgeInsets
margin applies to 📚 SurfaceLayer.BASE and the 🌟 Surface as a whole. [...]
final
peek Peek
Consider Peek to be a description of how the 📚 BASE is exposed behind the 📚 MATERIAL. [...]
final
runtimeType Type
A representation of the runtime type of the object.
read-only, inherited
shape Shape
📐 CornerSpec Shape description [...]
final
tapSpec TapSpec
Not only does 👆 TapSpec.tappable provide onTap Callback functionality, it also adds InkResponse to the Material underneath child. [...]
final
width double?
The width and height for this 🌟 Surface, following the rules of AnimatedContainer & applying directly to the 📚 SurfaceLayer.BASE.
final

Methods

build(BuildContext context) Widget
👷‍♂️🌟 Build Surface
override
createElement() StatelessElement
Creates a StatelessElement to manage this widget's location in the tree. [...]
inherited
debugDescribeChildren() List<DiagnosticsNode>
Returns a list of DiagnosticsNode objects describing this node's children. [...]
@protected, inherited
debugFillProperties(DiagnosticPropertiesBuilder properties) → void
Add additional properties associated with the node. [...]
override
noSuchMethod(Invocation invocation) → dynamic
Invoked when a non-existent method or property is accessed. [...]
inherited
toDiagnosticsNode({String? name, DiagnosticsTreeStyle? style}) DiagnosticsNode
Returns a debug representation of the object that is used by debugging tools and by DiagnosticsNode.toStringDeep. [...]
inherited
toString({DiagnosticLevel minLevel = DiagnosticLevel.info}) String
A string representation of this object. [...]
inherited
toStringDeep({String prefixLineOne = '', String? prefixOtherLines, DiagnosticLevel minLevel = DiagnosticLevel.debug}) String
Returns a string representation of this node and its descendants. [...]
inherited
toStringShallow({String joiner = ', ', DiagnosticLevel minLevel = DiagnosticLevel.debug}) String
Returns a one-line detailed description of the object. [...]
inherited
toStringShort() String
A short, textual description of this widget.
inherited

Operators

operator ==(Object other) bool
The equality operator. [...]
@nonVirtual, inherited