WidgetStateInputBorder class abstract interface

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:

  1. Creating a class that extends OutlineInputBorder or UnderlineInputBorder and implements WidgetStateInputBorder. The class would also need to override the resolve method.
  2. Using WidgetStateInputBorder.resolveWith with a callback that resolves the input border in the given states.
  3. 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.
const
factory
WidgetStateInputBorder.resolveWith(WidgetPropertyResolver<InputBorder> callback)
Creates a WidgetStateInputBorder using a WidgetPropertyResolver callback.
const
factory

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 the other 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 on states.
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