web-dev-qa-db-fra.com

Quel est l'équivalent de la disposition des contraintes dans Flutter?

Puis-je positionner un widget sur la base d'un autre widget? comme ça:

Disposition en mosaïque Sans

bibliothèque flutter_staggered_grid_view

8
david2020

Il n'y a pas de Widget similaire à ConstraintLayout mais vous pouvez réaliser ce que vous voulez en utilisant différents widgets, comme cet exemple:

  class Testing2 extends StatelessWidget {
    @override
    Widget build(BuildContext context) {
      return Container(
        color: Colors.red,
        child: Row(
          children: <Widget>[
            Flexible(
              child: Column(
                children: <Widget>[
                  Flexible(
                    flex: 1,
                    child: Container(
                      color: Colors.deepOrange,
                    ),
                  ),
                  Flexible(
                    flex: 2,
                    child: Container(
                      color: Colors.lightBlue,
                    ),
                  ),
                ],
              ),
            ),
            Flexible(
              child: Column(
                children: <Widget>[
                  Flexible(
                      flex: 3,
                      child: Container(
                        color: Colors.orange,
                      )),
                  Flexible(
                    flex: 1,
                    child: Row(
                      children: <Widget>[
                        Flexible(
                            flex: 2,
                            child: Container(
                              color: Colors.blue,
                            )),
                        Flexible(child: Container(color: Colors.green))
                      ],
                    ),
                  )
                ],
              ),
            )
          ],
        ),
      );
    }

Result

Vous pouvez également consulter ce lien pour en savoir plus sur les widgets de mise en page: https://flutter.io/widgets/layout/

4
diegoveloper