MorphSwitch class

Inheritance

Constructors

MorphSwitch({Key? key, required bool stateValue, void onSwitch(bool)?, void onSwipeLeft(bool)?, void onSwipeRight(bool)?, double borderWidth = 1.3, bool hasHover = true, String? offBgImage, String offLabel = "", String onLabel = "", TextStyle? onLabelStyle, TextStyle? offLabelStyle, String? onBgImage, IconData? thumbOnIcon, IconData? thumbOffIcon, Color borderColor = const Color(0xFF4B2B30), Color? onBgColor, Color? offBgColor, Color thumbBorderColor = const Color(0x00000000), Color thumbOnBgColor = const Color(0xFF2196F3), Color thumbOffBgColor = const Color(0xFF9E9E9E), double thumbRadius = 18.0, bool isVertical = false, Curve switchCurve = Curves.bounceOut, IconData? onBgIcon, IconData? offBgIcon, double? width, double? height, bool applyThumbRotationAnimation = true, EdgeInsetsGeometry margin = EdgeInsets.zero, double squareThumbRadius = 7.0, double thumbBorderWidth = 1.0, Color? thumbIconColor, int durationInMs = 1000, double offOpacity = 1.0, double textPadding = 12.0, TextDirection direction = TextDirection.ltr, List<BoxShadow>? boxShadow, ImageTransitionAnimationStyle imageTransitionStyle = ImageTransitionAnimationStyle.fade, SwitcherRadius switcherRadius = const SwitcherRadius.all(radius: 5.0), IconTransitionStyle iconTransitionStyle = IconTransitionStyle.scale, GlassProperties glassProperties = const GlassProperties.init(), ThumbType thumbType = ThumbType.circle, SwitcherSize size = SwitcherSize.xSmall, bool disabled = false, LinearGradient? onGradient, LinearGradient? offGradient})

Properties

applyThumbRotationAnimation → bool
Whether to apply rotation animation to thumb
final
borderColor → Color
Border color of the switch
final
borderWidth → double
Border width of the switch
final
boxShadow → List<BoxShadow>?
Box shadow effects on the outer part of the switch
final
direction → TextDirection
TextDirection of the switch Setting the value to TextDirection.rtl need to make some modifcation
final
disabled → bool
Disable the button This property also decrease the value of the opacity to 0.4
final
durationInMs → int
Animation duration in milliseconds
final
glassProperties → GlassProperties
Glass layer effect configuration
final
hashCode → int
The hash code for this object.
no setterinherited
hasHover → bool
Whether to show hover effects
final
height → double?
Custom height (if null, uses size preset from morphSwitchSizes)
final
iconTransitionStyle → IconTransitionStyle
Animation style for icon transitions
final
imageTransitionStyle → ImageTransitionAnimationStyle
Animation style for background image transitions
final
isVertical → bool
Whether to display switch vertically
final
key → Key?
Controls how one widget replaces another widget in the tree.
finalinherited
margin → EdgeInsetsGeometry
External margin around the switch
final
offBgColor → Color?
Background color when switch is OFF
final
offBgIcon → IconData?
Background icon when switch is OFF
final
offBgImage → String?
Background image path when switch is OFF
final
offGradient → LinearGradient?
Gradient background of the MorphSwitch off state
final
offLabel → String
Text label displayed when switch is OFF
final
offLabelStyle → TextStyle?
Icon displayed on the thumb when switch is ON
final
offOpacity → double
Opacity when switch is OFF (0.0 to 1.0)
final
onBgColor → Color?
Background color when switch is ON
final
onBgIcon → IconData?
Background icon when switch is ON
final
onBgImage → String?
Background image path when switch is ON
final
onGradient → LinearGradient?
Gradient background of the MorphSwitch on state
final
onLabel → String
Text label displayed when switch is ON
final
onLabelStyle → TextStyle?
Text style for the ON label
final
onSwipeLeft → void Function(bool)?
Callback when switch is swiped left Just in case another action with swiping left needed By defualt it set the MorphSwitch to false by default (offState)
final
onSwipeRight → void Function(bool)?
Callback when switch is swiped right
final
onSwitch → void Function(bool)?
Callback when switch is tapped/clicked
final
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
size → SwitcherSize
Preset size configuration According to the value passed to MorphSwitch It will catch the size from morphSwitchSizes CANNOT be, if custom size(width || height || thumbRadius) Modify the needed and the size prperty will be ignored
final
squareThumbRadius → double
Border radius for square thumb shape
final
stateValue → bool
Current state of the switch (true = on, false = off)
final
switchCurve → Curve
Animation curve for thumb movement
final
switcherRadius → SwitcherRadius
Border radius configuration for the switch SwitcherRadius
final
textPadding → double
Text || Icon in the background padding This value gives the onLabel and offLabel moer padding To expand the text in the MorphSwitch When to change it ? => When fontSize needes to be increased
final
thumbBorderColor → Color
Border color of the thumb
final
thumbBorderWidth → double
Border width of the thumb
final
thumbIconColor → Color?
Color of the Icons on the Thumb
final
thumbOffBgColor → Color
Thumb background color when OFF
final
thumbOffIcon → IconData?
Icon displayed on the thumb when switch is OFF
final
thumbOnBgColor → Color
Thumb background color when ON
final
thumbOnIcon → IconData?
Icon displayed on the thumb when switch is ON
final
thumbRadius → double
Radius of the thumb (affects size) If width || height is not given MorphSwitch will skip the value To modify thumbRadius width && height must be given To give the thumbRadius other value with the same width && height
final
thumbType → ThumbType
Shape of the thumb (circle or square)
final
width → double?
Custom width (if null, uses size preset from morphSwitchSizes)
final

Methods

createElement() → StatefulElement
Creates a StatefulElement to manage this widget's location in the tree.
inherited
createState() → State<MorphSwitch>
Creates the mutable state for this widget at a given location in the tree.
override
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