Afficher ou Masquer password dans TextField ou TextFormField
Présentation
- Dans ce tutoriel, nous allons vous montrer comment ajouter un bouton afficher ou masquer à la fin de l'entrée TextFiled ou TextFormField dans Flutter, chaque fois que l'utilisateur bascule le bouton, l'astérisque '*' sera affiché ou masqué.
- Pour masquer un mot de passe saisi dans un TextField ou TextFormField, définissez simplement sa propriété obscureText sur true :
TextField( obscureText: true,)
Créer une application Flutter
- Nous allons créer une application Flutter simple contenant un widget TextField (vous pouvez également utiliser TextFormField) au centre de l'écran. Ce champ de texte permet à l'utilisateur de saisir un mot de passe et dispose d'un bouton en forme d'œil pour afficher/masquer le mot de passe saisi.
import 'package:flutter/material.dart'; void main() => runApp(const MyApp()); class MyApp extends StatelessWidget { const MyApp({Key? key}) : super(key: key); @override Widget build(BuildContext context) { return const MaterialApp( // Remove the debug banner debugShowCheckedModeBanner: false, title: 'Afficher ou Masquer le mot de passe sur TextField', home: HomePage(), ); } } class HomePage extends StatefulWidget { const HomePage({Key? key}) : super(key: key); @override StatecreateState() => _HomePageState(); } class _HomePageState extends State { // show the password or not bool _isObscure = true; @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( title: const Text('Afficher ou Masquer le mot de passe sur TextField'), ), body: Padding( padding: const EdgeInsets.all(25), child: Center( child: TextField( obscureText: _isObscure, decoration: InputDecoration( labelText: 'Password', enabledBorder: OutlineInputBorder( borderSide: const BorderSide(width: 3, color: Colors.blue), borderRadius: BorderRadius.circular(15), ), focusedBorder: OutlineInputBorder( borderSide: const BorderSide(width: 3, color: Colors.red), borderRadius: BorderRadius.circular(15), ), prefixIcon: const Icon(Icons.lock), // Ce bouton est utilisé pour basculer la visibilité du mot de passe suffixIcon: IconButton( icon: Icon( _isObscure ? Icons.visibility : Icons.visibility_off), onPressed: () { setState(() { _isObscure = !_isObscure; }); })), ), ), ), ); } } 