XCard class

A customizable card container widget with padding, margin, background color, rounded corners, and shadow.

The XCard is a lightweight alternative to Flutter's Card widget, offering more control over padding, margin, shadow intensity, and radius, while avoiding unnecessary Material elevation layers.

Common use-cases:

  • Wrapping content inside a styled card
  • Creating reusable container blocks
  • Building list item containers with subtle shadows

Example:

XCard(
  padding: EdgeInsets.all(16),
  radius: 12,
  background: Colors.white,
  child: Text("Hello Card"),
);
Inheritance

Constructors

XCard({Key? key, required Widget child, EdgeInsetsGeometry padding = const EdgeInsets.all(10.0), double radius = 8.0, Color? background, EdgeInsetsGeometry margin = const EdgeInsets.symmetric(horizontal: 3, vertical: 2), double? blurRadius, Color? shadowColor, double? width, double? height, AlignmentGeometry? alignment})
Creates an XCard with customizable styling options.
const

Properties

alignment AlignmentGeometry?
final
background Color?
Background color of the card container.
final
blurRadius double?
The blur and spread radius of the shadow.
final
child Widget
The widget inside the card.
final
hashCode int
The hash code for this object.
no setterinherited
height double?
final
key Key?
Controls how one widget replaces another widget in the tree.
finalinherited
margin EdgeInsetsGeometry
External margin around the card.
final
padding EdgeInsetsGeometry
Padding applied inside the card around its child.
final
radius double
Border radius of the card.
final
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
shadowColor Color?
Color of the card shadow.
final
width double?
final

Methods

build(BuildContext context) Widget
Describes the part of the user interface represented by this widget.
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.
inherited
debugFillProperties(DiagnosticPropertiesBuilder properties) → void
Add additional properties associated with the node.
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent 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, int wrapWidth = 65}) 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.
inherited