Buscar pacotes, repositórios e categorias de apps

Capa de flutter_pin_code_fields
Detalhes do pacotev2.2.0

flutter_pin_code_fields

Um pacote Flutter que ajudará você a gerar campos de código PIN personalizáveis. Pode ser usado para senhas de login ou OTP.

AndroidiOSWebmacOSWindowsLinux
Downloads em 30 dias
2,5 mil
Curtidas
28
Pontos Pub
150

Instalar pacote

flutter pub add flutter_pin_code_fields

Visão geral do pacote

Orientação gerada a partir de informações públicas. Apenas para referência.

Um pacote personalizável do Flutter para criar campos de código PIN, ideal para senhas de login ou entradas de OTP. Oferece uma interface limpa e reutilizável com suporte a várias opções de estilização e validação de entrada. O pacote é compatível com todas as principais plataformas, incluindo Android, iOS, Web, macOS, Windows e Linux. Projetado para simplicidade e flexibilidade, permite que desenvolvedores integrem facilmente experiências de entrada de PIN seguras e amigáveis ao usuário em seus aplicativos.

Casos de uso

  • Fluxos de verificação OTP
  • Login do usuário com PIN
  • Interfaces de autenticação seguras
  • Campos de formulário que exigem códigos numéricos
  • Processos de onboarding em múltiplos passos

Principais recursos

  • Aparência personalizável do campo
  • Suporte para diferentes tipos de entrada
  • Validação embutida
  • Compatibilidade multiplataforma
  • Integração fácil com controladores de formulário
  • Design responsivo para todos os dispositivos

Indicado para

  • Desenvolvedores criando recursos de autenticação
  • Aplicativos que exigem entrada segura de PIN
  • Projetos que precisam de campos de entrada de OTP
  • formulários com foco em interface e entrada numérica
  • Aplicativos móveis e web com UX consistente

Considerações

  • Requer manipulação manual da lógica de envio
  • Feedback de erro embutido limitado
  • Sem suporte nativo para fallback biométrico
  • Pode ser necessário estilização adicional para temas complexos
  • Não otimizado para PINs muito longos além de 6-8 dígitos

README original

Snapshot do README original do repositório-fonte vinculado. Consulte o repositório para o conteúdo mais recente.

Flutter Pin Code Fields

GitHub workflow status Version GitHub license

A Flutter package to generate customizable pin code fields.

⭐️ to show support!

Features

  • Highly customizable
  • Responsive
  • Supports animations
  • Supports autofocus
  • Supports autofill
  • Supports obscuring text with custom character

Usage

Add flutter_pin_code_fields as a dependency in your pubspec.yaml file.

# pubspec.yaml

dependencies:
  flutter_pin_code_fields: <latest_version>
import import 'package:flutter_pin_code_fields/flutter_pin_code_fields.dart';

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return PinCodeFields(
      onComplete(text) => print(text);
    );
  }
}

Examples

Basic

Complete example at example/lib/basic.dart.

Example - Basic
PinCodeFields(
  onComplete(text) => print(text),
)

Obscuring text

Complete example at example/lib/obscuring_text.dart.

Example - Obscuring text
PinCodeFields(
  length: 6,
  obscureText: true,
  obscureCharacter: "🔴",
  onComplete(text) => print(text),
)

Customized

Complete example at example/lib/customized.dart.

Example - Customized
PinCodeFields(
  length: 4,
  fieldBorderStyle: FieldBorderStyle.square,
  responsive: false,
  fieldHeight: 130.0,
  fieldWidth: 130.0,
  borderWidth: 5.0,
  activeBorderColor: Colors.blue,
  activeBackgroundColor: Colors.white,
  borderRadius: BorderRadius.circular(20.0),
  keyboardType: TextInputType.number,
  inputFormatters: [FilteringTextInputFormatter.digitsOnly],
  autoHideKeyboard: false,
  fieldBackgroundColor: Colors.black12,
  borderColor: Colors.black12,
  textStyle: TextStyle(
    fontSize: 30.0,
    fontWeight: FontWeight.bold,
  ),
  onComplete(text) => print(text),
)

Animated

Complete example at example/lib/animated.dart.

Example - Animated
PinCodeFields(
  obscureText: true,
  obscureCharacter: "❌",
  animation: Animations.rotateRight,
  animationDuration: Duration(milliseconds: 250),
  animationCurve: Curves.bounceInOut,
  switchInAnimationCurve: Curves.bounceIn,
  switchOutAnimationCurve: Curves.bounceOut,
)

Properties

Name Type Default Description
length int 4 Total number of pin code fields.
margin EdgeInsets EdgeInsets.all(5.0) Margin between the fields.
padding EdgeInsets EdgeInsets.only(bottom: 5.0) Padding within the field.
fieldHeight double Height of the field.
fieldWidth double Width of the field.
borderWidth double 2.0 Width of the border of the field.
borderRadius BorderRadius Border raduis of the field.
borderColor Color Colors.grey Border color of the field.
activeBorderColor Color Colors.blue Border color of the active field.
fieldBorderStyle FieldBorderStyle FieldBorderStyle.bottom Border styles of the field.
fieldBackgroundColor Color Colors.transparent Background color of the fields.
activeBackgroundColor Color Colors.transparent Background color of the active field.
enabled bool true Enable/ disable editing the fields.
responsive bool true Adjust the size of the fields automatically to the available space.
autofocus bool false Enable/ disabled autofocus.
textStyle TextStyle Text style for the fields.
obscureText bool false Enable/ disable obscuring the text in the fields.
obscureCharacter String * Character to obscure the text in the fields.
keyboardType TextInputType TextInputType.visiblePassword Keyboard type.
inputFormatters List<TextInputFormatter> Input formatters for the fields.
autoHideKeyboard bool true Hides the keyboard automatically on complete.
animation Animations Animations.fade Animation for the fields.
animationDuration Duration Duration(milliseconds: 150) Duration of the animation.
animationCurve Curve Curves.easeInOut Animation curve.
switchInAnimationCurve Curve Curves.easeIn Switch in animation curve.
switchOutAnimationCurve Curve Curves.easeOut Switch out animation curve.
controller TextEditingController Text editing controller for the fields.
focusNode FocusNode Focus node for the fields.
onChange ValueChanged<String> Callback that returns text on input.
onComplete [required] ValueChanged<String> Callback that returns text on filling all the fields.

Categorias

Repositório-fonte

Projetos que usam este pacote