flutter otp text field

  OTP, packages, Packages, UI

flutter_otp_text_field

Flutter_Otp_Text_Field is a TextField widget to help display different style pin. It supports all the platform’s flutter supports.

Feature 

  • allows you to customize the shape of textField in any way you want
  • built-in 2 commonly used pin styles of shape
  • obscure support
  • input decoration support
  • support all the textField properties support
  • Flutter web support

Installing 

Install the latest version from pub.

Installing

Use this package as a library

1. Depend on it

Add this to your package’s pubspec.yaml file:

dependencies:
  flutter_otp_text_field: ^0.0.1

2. Install it

You can install packages from the command line: with Flutter:

$ flutter packages get

Alternatively, your editor might support flutter packages get. Check the docs for your editor to learn more.

3. Import it

Now in your Dart code, you can use:

import 'package:flutter_otp_text_field/flutter_otp_text_field.dart';

Usage

        OtpTextField(
            numberOfFields: 5,
            borderColor: Color(0xFF512DA8),
            showFieldAsBox: true, //set to true to show as box or false to show as dash
            onCodeChanged: (String code) {
                //handle validation or checks here           
            },
            onSubmit: (String verificationCode){
              showDialog(
                  context: context,
                  builder: (context){
                    return AlertDialog(
                      title: Text("Verification Code"),
                      content: Text('Code entered is $verificationCode'),
                    );
                  }
              );
            }, // end onSubmit
          ),

Attributes

Customizable attributes for PinInputTextField

Attribute NameExample ValueDescription
numberOfFields4The default is 4
fieldWidth40allows to change the width of the textField
showFieldAsBoxtruechanges the default decoration of the textFields to a box with borderRadius of 4.0
hasCustomInputDecorationtrueset this to true if you want to pass your own decoration
decorationInputDecorationset hasCustomInputDecoration to true and pass your own input decoration the way you see fit
filledfalseset to true if you want to pass a fillColor
fillColorColors.redpass fillColor and set filled to true
borderRadiusBorderRadius.all(Radius.circular(4.0))pass BorderRadius to customise textField when showFieldAsBox is set to true
marginEdgeInsets.only(right: 8.0)customize the margin between each textField
textStyleTextStyle(fontSize: 20, color: Colors.green);Add custom textStyle
borderWidth2.0Default value is 2.0, allows you to customize the width of the border
cursorColorColors.blueChange color of textFields cursor. Defaults to [ThemeData.cursorColor] or [CupertinoTheme.primaryColor] depending on [ThemeData.platform].
mainAxisAlignmentMainAxisAlignment.centerDefaults to MainAxisAlignment.center
crossAxisAlignmentCrossAxisAlignment.centerDefaults to CrossAxisAlignment.center
onSubmit(String pin){}The callback will execute when user is done inputting the verification code.
keyboardTypeTextInputType.numberJust like TextField’s keyboardType, the default is TextInputType.number
autoFocusfalseSame as TextField’s autoFocus, the default is false
enabledtrueSame as TextField’s enabled, the default is true
obscureTextfalseDefaults to false
onCodeChanged(String code){}Executes every time a value is entered into the textField. Same as TextField’s onChanged

Download flutter otp text field package source code on GitHub

https://github.com/david-legend/otp_textfield