71 votes

Flutter : Bordure de saisie des contours

J'ai essayé de créer une bordure pour mon champ de texte :

return TextField(
  ...
 border: OutlineInputBorder(
  borderSide: BorderSide(
   color: Colors.red, 
    width: 5.0),
    )
  )
)

Mais il renvoie toujours une bordure noire avec 1.0 comme largeur. La seule façon que j'ai trouvée pour changer la couleur était de créer une ThemeData où je spécifie la couleur de l'indice, mais je n'ai pas trouvé de moyen de changer la largeur.

0 votes

Ce n'est pas exactement la réponse à votre question, mais pour ajouter une bordure à un champ de texte, cela fonctionne : TextField(decoration: InputDecoration(border: OutlineInputBorder(borderSide: BorderSide(),),),); Plus à : api.flutter.dev/flutter/material/OutlineInputBorder-class.html

178voto

anmol.majhail Points 11892

Ce que vous cherchez est - enabledBorder propriété de InputDecoration .

Si vous voulez changer la bordure sur la mise au point, utilisez - focusedBorder

    TextField(
        decoration: new InputDecoration(
            focusedBorder: OutlineInputBorder(
                borderSide: BorderSide(color: Colors.greenAccent, width: 5.0),
            ),
            enabledBorder: OutlineInputBorder(
                borderSide: BorderSide(color: Colors.red, width: 5.0),
            ),
            hintText: 'Mobile Number',
        ),
    ),

2 votes

Je ne suis pas capable de trouver focusedBorder la propriété dans InputDecoration

0 votes

@AshutoshSagar quelle version de Flutter utilisez-vous ?

0 votes

V1.0.0 qui est la version stable

5voto

Paresh Mangukiya Points 13942

Vous pouvez utiliser le Container pour donner une bordure à votre champ de texte. Ajoutez l'élément TextField comme un enfant à un Container qui a un BoxDecoration avec la propriété de bordure :

  Container(
      margin: EdgeInsets.all(10),
      padding: EdgeInsets.all(10),
      decoration: BoxDecoration(
        color: Colors.white,
        border: Border.all(
            color: Colors.red,// set border color
            width: 3.0),   // set border width
        borderRadius: BorderRadius.all(
            Radius.circular(10.0)), // set rounded corner radius
      ),
      child: TextField(
        decoration: InputDecoration(
          hintText: 'Label text',
          border: InputBorder.none,
        ),
      ),
    )

enter image description here

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X