0
votes

Ensemble min Hauteur de Textfield dans Flutter

J'ai un text-conteneur dans le conteneur et je souhaite que le support de texte de texte multiligne, donc je ne peux pas la hauteur du conteneur. Mais comment définir la hauteur par défaut du champ de texte quand il n'y a pas de mot? Entrez la description de l'image ici J'ai essayé le contentpadding, mais ne pas travailler. Voici mon code: XXX

Donc, ma question est la suivante: Comment définir la hauteur par défaut du champ de texte lorsqu'il n'y a pas de mot? Je tiens à réduire la hauteur par défaut du filtre de texte et besoin de support de la mulitiiline


0 commentaires

6 Réponses :


1
votes

Vous pouvez utiliser 'Minlines: 2', il vous donnera la hauteur du nombre de lignes que vous avez placées. J'espère que cela aide.


5 commentaires

Je veux changer le rembourrage du mot et du contourBorder.


Je veux faire la hauteur du champ de texte plus petit et supporte multiline


Tu as confondu. Que voulez-vous exactement ? Augmenter le rembourrage du champ de texte?


@Omishah diminue la hauteur du champ de texte, mais nécessite une prise en charge multiligne


Vous pouvez définir MAXLINES: 5 ou sur ce que vous voulez. Il supportera encore la multiline.



0
votes

Utiliser peut définir maxlines code> du Textfield code> pour définir la hauteur maximale. Les maxlines de réglage prennent toujours en charge la multiline.

TextField(
maxLines: 5
)


1 commentaires

Je tiens à réduire la hauteur par défaut du champ de texte et de prendre en charge la prise en charge de la Multiline.



0
votes

https://github.com/flutter/flutter/issues/27838

accepté aswer Utilisation -> Contentpadding: P>

new Container(
width:80.0
child:new TextField
)


1 commentaires

Je tiens à réduire la hauteur du champ de texte, mais j'ai besoin de support multiligne,



0
votes

Vous pouvez utiliser ce qui suit, que j'utilise dans l'un dans l'un de mes projets. Enveloppez votre Textfield code> dans un conteneur et modifiez la taille du conteneur lui-même. Ajoutez ensuite un contentpadding code> pour rendre l'entrée plus petite.

Container(
    height 56, // Optional to decrease/increase
    child: TextField(
    decoration: InputDecoration(
        contentPadding: EdgeInsets.all(8.0), // Increase to make smaller
        prefixIcon: icon,
        labelText: 'Label',
        hintText: 'Hint',
        border: null,
    ),
    minLines: 1,
    maxLines: null // Adds support for multiple lines
));


2 commentaires

Mais la hauteur du champ de texte a été corrigée, je souhaite que la hauteur du champ de texte peut augmenter par les lignes.


Vous pouvez ajouter Contentpadding: EdgeInsets.All (8.0), à l'entréeDecoration .



0
votes

Remplacez votre code en après avoir AT-AU MOINS 3 EM> FORT> Lignes de votre Textfield:

TextField(
  minLines: 3,
  controller: _textEditingController,
  decoration: InputDecoration(
    hintText: "留下你的评论吧~",
    contentPadding: EdgeInsets.only(left: getMyWidth(10), right: getMyWidth(10)),
    fillColor: default_bg,
    filled: true,
    border: OutlineInputBorder(borderSide: BorderSide.none, borderRadius: BorderRadius.all(Radius.circular(getMyWidth(5)))),
  ),
  style: makeBlackStyle(),
  keyboardType: TextInputType.multiline,
  maxLines: null,
  cursorColor: themeColor,
  onChanged: (str) {
    setState(() {
      inputStr = str;
    });
  },
)


0 commentaires

1
votes

Il suffit de définir Isdense: true en décoration


1 commentaires

et utiliser minheight