WidgetStateBorderSide class abstract
Defines a BorderSide whose value depends on a set of WidgetStates which represent the interactive state of a component.
To use a WidgetStateBorderSide, you should create a subclass of a
WidgetStateBorderSide and override the abstract resolve
method.
This class enables existing widget implementations with BorderSide
properties to be extended to also effectively support WidgetStateProperty<BorderSide>
property values. WidgetStateBorderSide should only be used with widgets that document
their support, like ActionChip.side.
This class should only be used for parameters which are documented to take WidgetStateBorderSide, otherwise only the default state will be used.
See also:
- MaterialStateBorderSide, the Material specific version of
WidgetStateBorderSide
.
- Inheritance
-
- Object
- BorderSide
- WidgetStateBorderSide
- Implemented types
Constructors
- WidgetStateBorderSide()
-
Abstract const constructor. This constructor enables subclasses to provide
const constructors so that they can be used in const expressions.
const
-
WidgetStateBorderSide.resolveWith(WidgetPropertyResolver<
BorderSide?> callback) -
Creates a WidgetStateBorderSide from a
WidgetPropertyResolver<BorderSide?> callback function.
constfactory
Properties
- color → Color
-
The color of this side of the border.
finalinherited
- hashCode → int
-
The hash code for this object.
no setterinherited
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- strokeAlign → double
-
The relative position of the stroke on a BorderSide in an
OutlinedBorder or Border.
finalinherited
- strokeInset → double
-
Get the amount of the stroke width that lies inside of the BorderSide.
no setterinherited
- strokeOffset → double
-
The offset of the stroke, taking into account the stroke alignment.
no setterinherited
- strokeOutset → double
-
Get the amount of the stroke width that lies outside of the BorderSide.
no setterinherited
- style → BorderStyle
-
The style of this side of the border.
finalinherited
- width → double
-
The width of this side of the border, in logical pixels.
finalinherited
Methods
-
copyWith(
{Color? color, double? width, BorderStyle? style, double? strokeAlign}) → BorderSide -
Creates a copy of this border but with the given fields replaced with the new values.
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
-
resolve(
Set< WidgetState> states) → BorderSide? -
Returns a BorderSide that's to be used when a Material component is
in the specified state. Return null to defer to the default value of the
widget or theme.
override
-
scale(
double t) → BorderSide -
Creates a copy of this border side description but with the width scaled
by the factor
t
.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
-
toPaint(
) → Paint -
Create a Paint object that, if used to stroke a line, will draw the line
in this border's style.
inherited
-
toString(
{DiagnosticLevel minLevel = DiagnosticLevel.info}) → String -
A string representation of this object.
inherited
-
toStringShort(
) → String -
A brief description of this object, usually just the runtimeType and the
hashCode.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited
Static Methods
-
lerp(
WidgetStateProperty< BorderSide?> ? a, WidgetStateProperty<BorderSide?> ? b, double t) → WidgetStateProperty<BorderSide?> ? -
Linearly interpolate between two WidgetStatePropertys of BorderSide.
override