0
votes

Comment faire de l'enfant pour s'adapter à la hauteur d'une rangée dans le flutter?

J'ai un ligne code> widget avec les fichiers d'entrée et le bouton de recherche. Et la ligne est à l'intérieur d'une colonne.

 Entrez la description de l'image ici p>

Comment faire un bouton de recherche pour s'adapter à la hauteur de la ligne, rendant la taille de la touche égale à la hauteur de champ d'entrée? p>

J'ai essayé d'ajouter crossaxisalignment.structch.stretch, code> à la ligne mais obtenir l'erreur: - p>

BOXCONTAINTS FORCES une hauteur infinie. code> p>

Je n'ai pas la hauteur du champ de saisie. Et ne pas vouloir codentifier la hauteur du bouton car il doit toujours correspondre à la hauteur de la zone d'entrée. P>

Aussi, attribuant la hauteur à la ligne et ajouter croiséalignement.strette code> Ne modifiez pas la hauteur du champ d'entrée, le seul bouton change. P>

Quel est le problème ici et comment résoudre ce problème? P>

Row(
  // crossAxisAlignment: CrossAxisAlignment.stretch,
  mainAxisAlignment: MainAxisAlignment.center,
  children: [
    Expanded(
      child: Container(
        child: TextField(
          decoration: InputDecoration(
            border: InputBorder.none,
            hintText: 'search',
            hintStyle:
                Theme.of(context).textTheme.bodyText2.copyWith(
                  color: Theme.of(context).accentColor,
                ),
            contentPadding: EdgeInsets.symmetric(
              vertical: 8, horizontal: 20
            ),
            fillColor: Theme.of(context).primaryColor,
            filled: true,
          ),
          style: Theme.of(context).textTheme.bodyText2,
        ),
      ),
    ),
    FlatButton(
      onPressed: () {},
      color: Colors.grey,
      child: Icon(
        Icons.search,
      ),
    ),
  ],
)


0 commentaires

3 Réponses :


0
votes

Je pourrais vous donner une idée. de
Enveloppez le Flatbutton aussi, dans Conteneur et définissez la largeur et la hauteur pour celles-ci. Quelque chose comme ça,
xxx

Entrez la description de l'image ici
Ou bien, au moins définir hauteur et largeur pour flattbutton et laissez le textfield pour être développé < /code >.

Hope qui fonctionne!


2 commentaires

Cela ne fonctionne pas, avec cette hauteur du bouton n'a pas changé mais la largeur n'est pas la moitié de la largeur totale.


La hauteur 50 est presque parfaite devinez la taille de l'entrée, mais si vous spécifiez une hauteur autre que 50, disons 100, nous avons le même problème.



0
votes

Pour avoir la touche avoir toujours la même hauteur comme le textfield Il serait idéal pour envelopper la ligne widget avec un conteneur avec une hauteur fixe et la touche avec un conteneur avec et double. Infinity hauteur : xxx


1 commentaires

Quelle hauteur donneriez-vous à la ligne (), ici encore une fois, vous devez deviner la hauteur de la boîte d'entrée.



1
votes

J'avais la même exigence - je voulais avoir un conteneur carré à la fin du texte Textfield . Mais puisque la taille du texte et donc la hauteur de saisie de texte peut changer au fil du temps, je n'ai pas voulu coder sa taille.

Une solution consiste simplement à utiliser Suffixicon sur Textfield Dans le cadre de la saisie de texte ( rouge Square).

Dans mon cas, je devais utiliser Extra widget en dehors du Textfield . La clé ici est d'utiliser:

  1. intransichéight comme ligne parent
  2. aspratio 1 en tant que parent du conteneur ( gris carré).

    voir code: xxx

    et voir Image .

    Remarque, j'ai trouvé l'inspiration pour cette solution dans . Réponse .


1 commentaires

Cela devrait être accepté la réponse car vous ne pouvez pas toujours définir un heigth constant