web-dev-qa-db-fra.com

flutter comment centrer le widget dans la vue liste

Je n'arrive pas à centrer le widget à l'intérieur de listView.

J'ai bien aimé mais Text('ABC') n'est pas centré verticalement. Comment puis-je atteindre cet objectif?

new Scaffold(
  appBar: new AppBar(),
  body: new ListView(
    padding: const EdgeInsets.all(20.0),
    children: [
      new Center(
        child: new Text('ABC')
      )
    ]
  )
);
15
Daibaku

Centre vertical et centre horizontal:

Scaffold(
  appBar: new AppBar(),
  body: Center(
    child: new ListView(
      shrinkWrap: true,
        padding: const EdgeInsets.all(20.0),
        children: [
          Center(child: new Text('ABC'))
        ]
    ),
  ),
);

Centre vertical uniquement

Scaffold(
  appBar: new AppBar(),
  body: Center(
    child: new ListView(
      shrinkWrap: true,
        padding: const EdgeInsets.all(20.0),
        children: [
          new Text('ABC')
        ]
    ),
  ),
);
35
anmol.majhail

Enveloppez votre widget dans un conteneur

Container(alignment: Alignment.center, ...)

ou

Container(alignment: Alignment.centerLeft, ...)
11
Andrey Turkovsky

enter image description here


Enveloppez simplement votre widget dans Align et fournissez alignment en conséquence.

class _HomePageState extends State<HomePage> {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: ListView( // your ListView
        children: <Widget>[
          Align(
            alignment: Alignment.centerLeft,
            child: _button("Left"),
          ),
          Align(
            alignment: Alignment.center,
            child: _button("Middle"),
          ),
          Align(
            alignment: Alignment.centerRight,
            child: _button("Right"),
          ),
        ],
      ),
    );
  }

  Widget _button(text) => RaisedButton(onPressed: () {}, child: Text(text));
}
1
CopsOnRoad