PinCodeInput class

A configurable PIN input display that shows the current PIN entry state.

Does NOT include a software keyboard — pair with PinNumericKeypad or rely on the platform keyboard.

Supports two visual styles via PinInputStyle:

  • PinInputStyle.boxes: individual bordered boxes, each showing a bullet when filled. Suited for full-page setup/change screens.
  • PinInputStyle.circles: small circles that fill in when a digit is entered. Suited for compact dialog overlays (user switching).

The number of indicators is driven by pinLength (default 5).

Inheritance

Constructors

PinCodeInput({Key? key, required String currentPin, int pinLength = 5, PinInputStyle style = PinInputStyle.boxes, bool hasError = false, double? itemSize, double spacing = 12})
const

Properties

currentPin String
The current PIN value (may be partially entered).
final
hasError bool
Whether to show an error state (red border / red circles).
final
hashCode int
The hash code for this object.
no setterinherited
itemSize double?
Size of each box or circle. Defaults differ by style.
final
key Key?
Controls how one widget replaces another widget in the tree.
finalinherited
pinLength int
Expected PIN length — determines the number of boxes/circles.
final
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
spacing double
Spacing between items.
final
style PinInputStyle
Visual style of the input indicators.
final

Methods

build(BuildContext context) Widget
Describes the part of the user interface represented by this widget.
override
createElement() StatelessElement
Creates a StatelessElement to manage this widget's location in the tree.
inherited
debugDescribeChildren() List<DiagnosticsNode>
Returns a list of DiagnosticsNode objects describing this node's children.
inherited
debugFillProperties(DiagnosticPropertiesBuilder properties) → void
Add additional properties associated with the node.
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toDiagnosticsNode({String? name, DiagnosticsTreeStyle? style}) DiagnosticsNode
Returns a debug representation of the object that is used by debugging tools and by DiagnosticsNode.toStringDeep.
inherited
toString({DiagnosticLevel minLevel = DiagnosticLevel.info}) String
A string representation of this object.
inherited
toStringDeep({String prefixLineOne = '', String? prefixOtherLines, DiagnosticLevel minLevel = DiagnosticLevel.debug, int wrapWidth = 65}) String
Returns a string representation of this node and its descendants.
inherited
toStringShallow({String joiner = ', ', DiagnosticLevel minLevel = DiagnosticLevel.debug}) String
Returns a one-line detailed description of the object.
inherited
toStringShort() String
A short, textual description of this widget.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited