J'ai créé un écran qui fonctionne bien avec les colonnes, mais j'avais besoin de faire défiler à cause du clavier.Flutter - SingleChildScrollView interférant dans les colonnes
Lorsque vous insérez le SingleChildScrollView
ou l'attribut ListView
le MainAxisAlignment.spaceBetween
, il ne fonctionne plus.
Y avait-il une solution pour cela?
gifs sans SingleChildScrollView
l'écran ne roule pas et le FloatingActionButton
est au bas de l'écran
Gif avec SingleChildScrollView
le rouleau écran et il FloatingActionButton
est pas en bas de l'écran
import 'package:flutter/material.dart';
void main() {
runApp(new MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return new MaterialApp(
home: new MyHomePage(),
);
}
}
class MyHomePage extends StatefulWidget {
@override
_MyHomePageState createState() => new _MyHomePageState();
}
class _MyHomePageState extends State<MyHomePage> {
@override
Widget build(BuildContext context) {
return new Scaffold(
appBar: new AppBar(backgroundColor: new Color(0xFF26C6DA)),
body: new SingleChildScrollView(
child: new Column(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
crossAxisAlignment: CrossAxisAlignment.center,
children: <Widget>[
new Container(
child: new Column(
children: <Widget>[
new TextField(
decoration: const InputDecoration(
labelText: "Description",
),
style: Theme.of(context).textTheme.title,
),
new TextField(
decoration: const InputDecoration(
labelText: "Description",
),
style: Theme.of(context).textTheme.title,
),
new TextField(
decoration: const InputDecoration(
labelText: "Description",
),
style: Theme.of(context).textTheme.title,
),
],
)
),
new Container(
margin: new EdgeInsets.only(bottom: 16.0),
child: new FloatingActionButton(
backgroundColor: new Color(0xFFE57373),
child: new Icon(Icons.check),
onPressed:(){}
),
)
],
),
)
);
}
}
Merci pour l'explication, cela a beaucoup aidé. – rafaelcb21