MaterialStateUnderlineInputBorder class abstract
Defines a UnderlineInputBorder that is also a MaterialStateProperty.
This class exists to enable widgets with UnderlineInputBorder valued properties to also accept MaterialStateProperty<UnderlineInputBorder> values. A material state input border property represents a text style which depends on a widget's "interactive state". This state is represented as a Set of MaterialStates, like MaterialState.pressed, MaterialState.focused and MaterialState.hovered.
MaterialStateUnderlineInputBorder should only be used with widgets that document their support, like InputDecoration.border.
To use a MaterialStateUnderlineInputBorder, you can either:
- Create a subclass of MaterialStateUnderlineInputBorder and implement the abstract
resolve
method. - Use MaterialStateUnderlineInputBorder.resolveWith and pass in a callback that will be used to resolve the color in the given states.
If a MaterialStateUnderlineInputBorder is used for a property or a parameter that doesn't support resolving MaterialStateProperty<UnderlineInputBorder>s, then its default color value will be used for all states.
To define a const
MaterialStateUnderlineInputBorder, you'll need to extend
MaterialStateUnderlineInputBorder and override its resolve method. You'll also need
to provide a defaultValue
to the super constructor, so that we can know
at compile-time what its default color is.
- Inheritance
-
- Object
- ShapeBorder
- InputBorder
- UnderlineInputBorder
- MaterialStateUnderlineInputBorder
- Implemented types
Constructors
- MaterialStateUnderlineInputBorder()
-
Abstract const constructor. This constructor enables subclasses to provide
const constructors so that they can be used in const expressions.
const
-
MaterialStateUnderlineInputBorder.resolveWith(MaterialPropertyResolver<
InputBorder> callback) -
Creates a MaterialStateUnderlineInputBorder from a MaterialPropertyResolver<InputBorder>
callback function.
constfactory
Properties
- borderRadius → BorderRadius
-
The radii of the border's rounded rectangle corners.
finalinherited
- 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, BorderRadius? borderRadius}) → UnderlineInputBorder -
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 -
Draw a horizontal line at the bottom of
rect
.inherited -
paintInterior(
Canvas canvas, Rect rect, Paint paint, {TextDirection? textDirection}) → void -
Paint a canvas with the appropriate shape.
inherited
-
resolve(
Set< MaterialState> states) → InputBorder -
Returns a InputBorder that's to be used when a Material component is in the
specified state.
override
-
scale(
double t) → UnderlineInputBorder -
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