176 votes

Flutter : Colonne verticale centrale centrale

Comment centrer verticalement une colonne dans Flutter? J'ai utilisé le widget "nouveau centre". J'ai utilisé le widget "nouveau centre", mais il ne centre pas verticalement ma colonne? Toutes les idées seraient utiles....

 @override
Widget build(BuildContext context) {
  return Scaffold(
    appBar: AppBar(
      title: Text("Thank you"),
    ),
    body: new Center(
      child: new Column(
        children: <Widget>[
          new Padding(
            padding: new EdgeInsets.all(25.0),
            child: new AnimatedBuilder(
              animation: animationController,
              child: new Container(
                height: 175.0,
                width: 175.0,
                child: new Image.asset('assets/angry_face.png'),
              ),
              builder: (BuildContext context, Widget _widget) {
                return new Transform.rotate(
                  angle: animationController.value * 6.3,
                  child: _widget,
                );
              },
            ),
          ),
          new Text('We are glad we could serve you...', style: new TextStyle(
              fontSize: 16.0,
              fontWeight: FontWeight.w600,
              color: Colors.black87),),
          new Padding(padding: new EdgeInsets.symmetric(vertical: 5.0, horizontal: 0.0)),
          new Text('We appreciate your feedback ! !', style: new TextStyle(
              fontSize: 13.0,
              fontWeight: FontWeight.w200,
              color: Colors.black87),),
        ],
      ),
    ),
  );
}
 

315voto

Zeusox Points 1926

Solution telle que proposée par Aziz serait:

Il ne serait pas dans le centre exact en raison de rembourrage:

Pour faire exactement la colonne centrale - au moins dans ce cas - vous auriez besoin d’enlever le rembourrage.

60voto

aziza Points 11732

Essayer:

 Column(
 mainAxisAlignment: MainAxisAlignment.center,
 crossAxisAlignment: CrossAxisAlignment.center,
 children:children...)
 

23voto

Deepak swain Points 1327

Avec Colonne, utilisez :

Il aligne ses enfants (s) au centre de son espace parent verticalement

13voto

jitesh mohite Points 3119

Une Autre Solution!

Si vous souhaitez définir des widgets dans le centre de forme verticale, vous pouvez utiliser ListView pour elle. pour exemple: j'ai utilisé trois boutons et les ajouter à l'intérieur de ListView qui a suivi par

emballé: true -> Avec cette liste n'occupe que l'espace nécessaire.

import 'package:flutter/material.dart';

class List extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    final button1 =
        new RaisedButton(child: new Text("Button1"), onPressed: () {});
    final button2 =
        new RaisedButton(child: new Text("Button2"), onPressed: () {});
    final button3 =
        new RaisedButton(child: new Text("Button3"), onPressed: () {});
    final body = new Center(
      child: ListView(
        shrinkWrap: true,
        children: <Widget>[button1, button2, button3],
     ),
    );

    return new Scaffold(
        appBar: new AppBar(
          title: Text("Sample"),
        ),
        body: body);
  }
}    
void main() {
  runApp(new MaterialApp(
    home: List(),
  ));
}

Sortie: enter image description here

3voto

Taha20 Points 39

La solution pour cela serait :

mais comme Zeusox l’a mentionné dans ce cas, vous devez vous débarrasser de ce rembourrage.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X