Je suis nouveau pour flotter J'ai l'activité suivante, lorsque je clique dans le clavier de champ de texte apparaît, puis le mon activité strong> p> Voici mon code AVERTISSEMENT CODE> E.G.
Bas Overflowed by 84 Pixles Code> apparaît également comment puis-je pouvoir résoudre ce problème? Quand j'ai essayé
singlechechildscrollview code> 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?
4 Réponses :
Ajouter simplement resizetoavoidebottominset: false code> à votre
échafaud code> p>
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
Aussi vous pouvez envelopper l'enfant à l'intérieur singlechechildscrollview code> p>
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 :)
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,
],
),
),
)
],
)
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... ), ), );
Est-ce que cela répond à votre question? surchargé de fond de 213 pixels dans le flutter