Une brève introduction à la zone de saisie du composant TextField des composants de base de Flutter

Une brève introduction à la zone de saisie du composant TextField des composants de base de Flutter

Le composant TextField (composant de zone de saisie) est utilisé pour saisir les noms d'utilisateur, les mots de passe, le contenu de recherche, etc. dans l'application.

  body: TextField(  ),

insérez la description de l'image ici

longueur maximale

L'attribut maxLength est utilisé pour définir la longueur maximale des caractères pouvant être saisis dans la zone de saisie, et la comparaison entre la longueur d'entrée actuelle et la longueur maximale est affichée dans le coin inférieur droit de la zone de saisie.
Par exemple, lorsque la valeur de maxLength est 8, seuls 8 chiffres peuvent être saisis au maximum, et s'il y en a plus, ils ne seront pas saisis.

  body: TextField(maxLength: 8),

insérez la description de l'image ici
Si vous souhaitez dépasser la longueur définie, vous pouvez modifier la valeur d'attribut de maxLengthEnforced, qui est activé par défaut, et il n'est pas autorisé à dépasser la valeur définie. Éteignez-le et vous pourrez y entrer avec désinvolture ;

maxLengthEnforced: false

insérez la description de l'image ici

maxLignes

Lorsqu'il y a trop d'entrées, une ligne ne peut pas être écrite, alors l'
insérez la description de l'image ici
attribut maxLines est utilisé pour définir le nombre maximum de lignes autorisées à afficher
. Vous pouvez entrer jusqu'à plusieurs caractères sur la page et pouvez automatiquement envelopper 2 lignes ou n'importe quelle ligne

 TextField(maxLength: 8,maxLengthEnforced: false,maxLines: null)//自动换任意行
 TextField(maxLength: 8,maxLengthEnforced: false,maxLines: 2)//自动换任意行

insérez la description de l'image ici

texteobscur

La propriété obscureText est utilisée pour définir s'il faut masquer le contenu d'entrée. Cette propriété est souvent utilisée dans la zone de saisie du mot de passe.

insérez la description de l'image ici

Lorsque vous utilisez la propriété obscureText, maxLines == 1, vous ne pouvez pas entrer plusieurs lignes, sinon une erreur sera signalée

Failed assertion: line 382 pos 15: '!obscureText || maxLines == 1'

insérez la description de l'image ici
insérez la description de l'image ici

activer la sélection interactive

La propriété enableInteractiveSelection permet de définir si le menu "Couper/Copier/Coller" apparaît lors d'un appui long.
Par défaut, appuyez longuement pour copier et coller
insérez la description de l'image ici

Si le copier-coller n'est pas autorisé, vous pouvez définir enableInteractiveSelection : false ; si un appui long ne répondra pas

 TextField(
          maxLength: 8,
          maxLengthEnforced: true,
          maxLines: 1,
          obscureText: true,
          enableInteractiveSelection: false),

texteMajuscules

La propriété textCapitalization est utilisée pour définir les majuscules et minuscules des caractères d'entrée TextField(textCapitalization:TextCapitalization.words);

textCapitalization: TextCapitalization.sentences//自动句子的首字母大写

insérez la description de l'image ici

textCapitalization: TextCapitalization.words,//自动每个单词首字母大写

insérez la description de l'image ici

clavierType

La propriété keyboardType est utilisée pour définir le type de clavier logiciel lors de la saisie de contenu ;

keyboardType:TextInputType.number//键盘上只有数字键

insérez la description de l'image ici

TextField(keyboardType:TextlnputType.phone);//键盘上有数字键和# * +等符号键

insérez la description de l'image ici

keyboardType:TextInputType.emailAddress//键盘上有@键

insérez la description de l'image ici

Code complet :

import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';

class denglupage extends StatelessWidget {
    
    
  @override
  Widget build(BuildContext context) {
    
    
    return Scaffold(
        appBar: AppBar(
          centerTitle: true,
          title: Text('有请甄学者登录'),
          titleTextStyle: TextStyle(color: Colors.yellow),
          backgroundColor: Colors.black87,
        ),
        body: Column(children: <Widget>[
          TextField(
            maxLength: 8,
            maxLengthEnforced: false,
            maxLines: 1,
            // obscureText: true,
            enableInteractiveSelection: false,
            textCapitalization: TextCapitalization.words,
            // keyboardType:TextInputType.emailAddress// 设置输入内容时软键盘的类型
            decoration: InputDecoration(
                icon: Icon(Icons.person),
                labelText: '用户名',
                labelStyle: TextStyle(color: Colors.black),
                helperText: '用户名只能由字母和数字组成',
                helperStyle: TextStyle(color: Colors.grey),
                errorText: '用户名格式错误',
                errorStyle: TextStyle(color: Colors.red),
                hintText: '请输入用户名',
                hintStyle: TextStyle(color: Colors.black12)),
          )
        ]

            ));
    
  }
}

Je suppose que tu aimes

Origine blog.csdn.net/qq_43336158/article/details/123746162
conseillé
Classement