Defines an InputBorder that is also a WidgetStateProperty.
This class exists to enable widgets with InputBorder valued properties to also accept WidgetStateProperty objects.
WidgetStateInputBorder should only be used with widgets that document their support, like InputDecoration.border.
A WidgetStateInputBorder can be created by:
- Creating a class that extends OutlineInputBorder or UnderlineInputBorder and implements WidgetStateInputBorder. The class would also need to override the resolve method.
- Using WidgetStateInputBorder.resolveWith with a callback that resolves the input border in the given states.
- Using WidgetStateInputBorder.fromMap to assign a border with a WidgetStateMap.
This example shows how to use WidgetStateInputBorder to create
a TextField with an appearance that responds to user interaction.
link
To create a local project with this code sample, run:
flutter create --sample=material.WidgetStateInputBorder.1 mysample
- Implemented types
Constructors
-
WidgetStateInputBorder.fromMap(WidgetStateMap<
InputBorder> map) -
Creates a WidgetStateOutlinedBorder from a WidgetStateMap.
constfactory
-
WidgetStateInputBorder.resolveWith(WidgetPropertyResolver<
InputBorder> callback) -
Creates a WidgetStateInputBorder using a WidgetPropertyResolver
callback.
constfactory
Properties
- borderSide → BorderSide
-
Defines the border line's color and weight.
finalinherited
- dimensions → EdgeInsetsGeometry
-
The widths of the sides of this border represented as an EdgeInsets.
no setterinherited
- hashCode → int
-
The hash code for this object.
no setterinherited
- isOutline → bool
-
True if this border will enclose the InputDecorator's container.
no setterinherited
- preferPaintInterior → bool
-
Reports whether paintInterior is implemented.
no setterinherited
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
Methods
-
add(
ShapeBorder other, {bool reversed = false}) → ShapeBorder? -
Attempts to create a new object that represents the amalgamation of
this
border and theother
border.inherited -
copyWith(
{BorderSide? borderSide}) → InputBorder -
Creates a copy of this input border with the specified
borderSide
.inherited -
getInnerPath(
Rect rect, {TextDirection? textDirection}) → Path -
Create a Path that describes the inner edge of the border.
inherited
-
getOuterPath(
Rect rect, {TextDirection? textDirection}) → Path -
Create a Path that describes the outer edge of the border.
inherited
-
lerpFrom(
ShapeBorder? a, double t) → ShapeBorder? -
Linearly interpolates from another ShapeBorder (possibly of another
class) to
this
.inherited -
lerpTo(
ShapeBorder? b, double t) → ShapeBorder? -
Linearly interpolates from
this
to another ShapeBorder (possibly of another class).inherited -
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
paint(
Canvas canvas, Rect rect, {double? gapStart, double gapExtent = 0.0, double gapPercentage = 0.0, TextDirection? textDirection}) → void -
Paint this input border on
canvas
.inherited -
paintInterior(
Canvas canvas, Rect rect, Paint paint, {TextDirection? textDirection}) → void -
Paint a canvas with the appropriate shape.
inherited
-
resolve(
Set< WidgetState> states) → InputBorder -
Returns a value of type
T
that depends onstates
.inherited -
scale(
double t) → ShapeBorder -
Creates a copy of this border, scaled by the factor
t
.inherited -
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator +(
ShapeBorder other) → ShapeBorder -
Creates a new border consisting of the two borders on either side of the
operator.
inherited
-
operator ==(
Object other) → bool -
The equality operator.
inherited