0
votes

Comment résoudre le bas débordement de 84 pixels dans l'activité de la flutter?

Je suis nouveau pour flotter J'ai l'activité suivante, lorsque je clique dans le clavier de champ de texte apparaît, puis le AVERTISSEMENT E.G. Bas Overflowed by 84 Pixles apparaît également comment puis-je pouvoir résoudre ce problème? Quand j'ai essayé singlechechildscrollview puis la zone vide ("où il n'y a pas de widgets") d'activité gérée blanche. Existe-t-il un widget qui manque ou j'ai commis une erreur dans mon code?

mon activité

 Entrez l'image Description ici

Voici mon code xxx


1 commentaires

Est-ce que cela répond à votre question? surchargé de fond de 213 pixels dans le flutter


4 Réponses :


1
votes

Ajouter simplement resizetoavoidebottominset: false à votre échafaud


1 commentaires

Cela entraînera toujours le même problème lorsque l'application s'exécute sur des téléphones plus petits et ne le laissera pas voir les champs de texte quand ils sont visualisés derrière le clavier



1
votes

Aussi vous pouvez envelopper l'enfant à l'intérieur singlechechildscrollview


2 commentaires

Cela provoque un autre problème, je veux dire la zone d'écran où il n'y a pas de widgets n'est allé au blanc? En attendant, j'utilise un conteneur ayant de l'arrière-plan est noir ...


Vous pouvez définir la hauteur des conteneurs à la hauteur de l'écran, qui couvrira tout l'espace restant .. Aussi, vous pouvez définir des échafaudages de couleur d'arrière-plan sur le noir pour résoudre ce problème :)



1
votes

Utiliser singlechechscrollview code> dans corps code>. Pour éviter la partie de partie blanche, enveloppez-le à l'intérieur d'un pile code>.

Stack(
    children: <Widget>[
      Container(
        padding: EdgeInsets.all(16),
        color: Colors.black,
      ),
      SingleChildScrollView(
        scrollDirection: Axis.vertical,
        child: Container(
          padding: EdgeInsets.all(16),
          child: Column(
            crossAxisAlignment: CrossAxisAlignment.start,
            mainAxisAlignment: MainAxisAlignment.start,
            children: <Widget>[
              Padding(
                padding: EdgeInsets.all(25),
              ),
              Text(
                "ENTER YOUR CARD DETAILS",
                style: TextStyle(
                    fontWeight: FontWeight.w400,
                    color: Colors.white,
                    fontSize: 16),
              ),
              Padding(
                padding: EdgeInsets.all(5),
              ),
              Card(
                color: Color(0xFF1E1E1E),
                child: ListTile(
                  leading: CircleAvatar(),
                  title: Container(
                    child: Row(
                      mainAxisAlignment: MainAxisAlignment.spaceBetween,
                      children: <Widget>[
                        Text(
                          "MasterCard",
                          style: TextStyle(fontSize: 16, color: Colors.white),
                        ),
                        Text(
                          '90 \u0024',
                          style: TextStyle(fontSize: 16, color: Colors.white),
                        ),
                      ],
                    ),
                  ),
                ),
              ),
              Padding(
                padding: EdgeInsets.all(12),
              ),
              Card(
                color: Color(0xFF1E1E1E),
                child: cardnumber(),
              ),
              Row(
                children: [
                  Container(
                    //height: 60,
                    width: MediaQuery.of(context).size.width * 0.45,
                    color: Color(0xFF1E1E1E),
                    child: TextField(
                      style: style,
                      maxLength: 5,
                      cursorColor: Colors.red,
                      textAlign: TextAlign.left,
                      keyboardType: TextInputType.number,
                      decoration: InputDecoration(
                        hintText: 'MM/YY',
                        hintStyle: TextStyle(fontSize: 16, color: Colors.white),
                        border: OutlineInputBorder(
                          borderRadius: BorderRadius.circular(8),
                          borderSide: BorderSide(
                            width: 0,
                            style: BorderStyle.none,
                          ),
                        ),
                        filled: true,
                        contentPadding: EdgeInsets.all(16),
                      ),
                    ),
                  ),
                  Padding(
                    padding: EdgeInsets.all(1),
                  ),
                  Container(
                    // height: 50,
                    width: MediaQuery.of(context).size.width * 0.44,
                    color: Color(0xFF1E1E1E),
                    child: TextField(
                      style: style,
                      maxLength: 3,
                      cursorColor: Colors.red,
                      textAlign: TextAlign.left,
                      keyboardType: TextInputType.number,
                      decoration: InputDecoration(
                        hintText: 'CVV',
                        hintStyle: TextStyle(fontSize: 16, color: Colors.white),
                        border: OutlineInputBorder(
                          borderRadius: BorderRadius.circular(8),
                          borderSide: BorderSide(
                            width: 0,
                            style: BorderStyle.none,
                          ),
                        ),
                        filled: true,
                        contentPadding: EdgeInsets.all(16),
                      ),
                    ),
                  ),
                ],
              ),
              Container(
                height: 100,
              ),
              PaymentButton,
            ],
          ),
        ),
      )
    ],
  )


0 commentaires

1
votes

Utilisation d'un singlechechildscrollview est la bonne façon de partir.

Pour résoudre le problème que vous avez parlé, supprimez l'attribut de couleur du conteneur et déplacez-la à l'attribut couleur de fond d'échafaudage: P>

return Scaffold(
      backgroundColor: Colors.black,
      appBar: AppBar(
        title: Text("Payment"),
        centerTitle: true,
      ),
      body:  SingleChildScrollView(
        child: Container(
          padding: EdgeInsets.all(16),
          child: Column(
            // the rest of the widgets...
          ),
        ),
      );


0 commentaires