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 an input border 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:

  1. Create a subclass of MaterialStateUnderlineInputBorder and implement the abstract resolve method.
  2. 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
Implemented types
Annotations
  • @Deprecated('Use WidgetStateInputBorder instead. ' 'Renamed to match other WidgetStateProperty objects. ' 'This feature was deprecated after v3.26.0-0.1.pre.')

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.
const
factory

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 the other 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