MaterialStateOutlineInputBorder class Null safety

Defines a OutlineInputBorder that is also a MaterialStateProperty.

This class exists to enable widgets with OutlineInputBorder valued properties to also accept MaterialStateProperty<OutlineInputBorder> 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.

MaterialStateOutlineInputBorder should only be used with widgets that document their support, like InputDecoration.border.

To use a MaterialStateOutlineInputBorder, you can either:

  1. Create a subclass of MaterialStateOutlineInputBorder and implement the abstract resolve method.
  2. Use MaterialStateOutlineInputBorder.resolveWith and pass in a callback that will be used to resolve the color in the given states.

If a MaterialStateOutlineInputBorder is used for a property or a parameter that doesn't support resolving MaterialStateProperty<OutlineInputBorder>s, then its default color value will be used for all states.

To define a const MaterialStateOutlineInputBorder, you'll need to extend MaterialStateOutlineInputBorder 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

Constructors

MaterialStateOutlineInputBorder()
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.
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.
read-onlyinherited
gapPadding double
Horizontal padding on either side of the border's InputDecoration.labelText width gap.
finalinherited
hashCode int
The hash code for this object.
read-onlyinherited
isOutline bool
True if this border will enclose the InputDecorator's container.
read-onlyinherited
runtimeType Type
A representation of the runtime type of the object.
read-onlyinherited

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.
protected">@protectedinherited
copyWith({BorderSide? borderSide, BorderRadius? borderRadius, double? gapPadding}) OutlineInputBorder
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 rounded rectangle around rect using borderRadius.
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) OutlineInputBorder
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) MaterialStateOutlineInputBorder
Creates a MaterialStateOutlineInputBorder from a MaterialPropertyResolver<InputBorder> callback function.
override