MaterialStateUnderlineInputBorder class Null safety
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
Properties
- borderRadius → BorderRadius
-
The radii of the border's rounded rectangle corners. [...]
final, inherited
- borderSide → BorderSide
-
Defines the border line's color and weight. [...]
final, inherited
- dimensions → EdgeInsetsGeometry
-
The widths of the sides of this border represented as an EdgeInsets. [...]
read-only, inherited
- hashCode → int
-
The hash code for this object. [...]
read-only, inherited
- isOutline → bool
-
True if this border will enclose the InputDecorator's container. [...]
read-only, inherited
- runtimeType → Type
-
A representation of the runtime type of the object.
read-only, inherited
Methods
-
add(
ShapeBorder other, {bool reversed = false}) → ShapeBorder? -
Attempts to create a new object that represents the amalgamation of
this
border and theother
border. [...]@protected, 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 non-existent 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 -
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
Static Methods
-
resolveWith(
MaterialPropertyResolver< InputBorder> callback) → MaterialStateUnderlineInputBorder -
Creates a MaterialStateUnderlineInputBorder from a MaterialPropertyResolver<InputBorder>
callback function. [...]
override