MaterialStateOutlinedBorder class Null safety

Defines an OutlinedBorder whose value depends on a set of MaterialStates which represent the interactive state of a component.

To use a MaterialStateOutlinedBorder, you should create a subclass of an OutlinedBorder and implement MaterialStateOutlinedBorder's abstract resolve method.

This example defines a subclass of RoundedRectangleBorder and an implementation of MaterialStateOutlinedBorder, that resolves to RoundedRectangleBorder when its widget is selected.
To create a local project with this code sample, run:
flutter create --sample=material.MaterialStateOutlinedBorder.1 mysample

This class should only be used for parameters which are documented to take MaterialStateOutlinedBorder, otherwise only the default state will be used.

See also:

Implemented types


Abstract const constructor. This constructor enables subclasses to provide const constructors so that they can be used in const expressions.


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
runtimeType Type
A representation of the runtime type of the object.
read-only, inherited
side BorderSide
The border outline's color and weight. [...]
final, inherited


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, inherited
copyWith({BorderSide? side}) OutlinedBorder
Returns a copy of this OutlinedBorder that draws its outline with the specified side, if side is non-null.
getInnerPath(Rect rect, {TextDirection? textDirection}) Path
Create a Path that describes the inner edge of the border. [...]
getOuterPath(Rect rect, {TextDirection? textDirection}) Path
Create a Path that describes the outer edge of the border. [...]
lerpFrom(ShapeBorder? a, double t) ShapeBorder?
Linearly interpolates from another ShapeBorder (possibly of another class) to this. [...]
@protected, inherited
lerpTo(ShapeBorder? b, double t) ShapeBorder?
Linearly interpolates from this to another ShapeBorder (possibly of another class). [...]
@protected, inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a non-existent method or property is accessed. [...]
paint(Canvas canvas, Rect rect, {TextDirection? textDirection}) → void
Paints the border within the given Rect on the given Canvas. [...]
resolve(Set<MaterialState> states) OutlinedBorder?
Returns an OutlinedBorder that's to be used when a Material component is in the specified state. Return null to defer to the default value of the widget or theme.
scale(double t) ShapeBorder
Creates a copy of this border, scaled by the factor t. [...]
toString() String
A string representation of this object. [...]


operator +(ShapeBorder other) ShapeBorder
Creates a new border consisting of the two borders on either side of the operator. [...]
operator ==(Object other) bool
The equality operator. [...]