MainAxisSize.SpaceEvenly не дает равного места в виджете

Это код

      body: Center(
          child: Column(
            children: [
              Row(
                children: [
                  CircleAvatar(
                    backgroundImage: NetworkImage(
                        'https://raw.githubusercontent.com/flutter/website/master/examples/layout/sizing/images/pic1.jpg'),
                    radius: 50,
                  ),
                  SizedBox(
                    width: 30,
                  ),
                  Container(
                    child: Row(
                      mainAxisAlignment: MainAxisAlignment.spaceEvenly,
                      children: [
                        Text('Post'),
                        Text('Followers'),
                        Text('Following')
                      ],
                    ),
                  )
                ],
              ),
            ],
          ),
        ),

2 ответа

Решение

Попробуйте приведенный ниже код, надеюсь, он будет вам полезен, используемый виджет ListTile также ссылается здесь на ListTile , см. Мой ответ здесь для того же дизайна

       ListTile(
      leading: CircleAvatar(
        backgroundImage: NetworkImage(
          'https://raw.githubusercontent.com/flutter/website/master/examples/layout/sizing/images/pic1.jpg',
        ),
        radius: 50,
      ),
      title: Container(
        child: Row(
          mainAxisAlignment: MainAxisAlignment.spaceEvenly,
          children: [
            Text('Post'),
            Text('Followers'),
            Text('Following'),
          ],
        ),
      ),
    ),

Ваш экран результатов вроде->

Контейнер не занимает все пространство для расширения (дайте контейнеру цвет фона и посмотрите). вот почему ты не видишь . Используйте расширенный виджет, который занимает все оставшееся пространство. тогда вы увидите эффект.

Контейнеры без дочерних элементов стараются быть как можно большими, если входящие ограничения не являются неограниченными, и в этом случае они стараются быть как можно меньше. Контейнеры с детьми сами по себе соответствуют размерам их детей. Аргументы конструктора ширины, высоты и ограничений переопределяют это.

      Column(
        children: [
          Row(
            children: [
              CircleAvatar(
                backgroundImage: NetworkImage(
                    'https://raw.githubusercontent.com/flutter/website/master/examples/layout/sizing/images/pic1.jpg'),
                radius: 50,
              ),
              SizedBox(
                width: 30,
              ),
              Expanded(
                child: Row(
                  mainAxisAlignment: MainAxisAlignment.spaceEvenly,
                  children: [
                    Text('Post'),
                    Text('Followers'),
                    Text('Following')
                  ],
                ),
              )
            ],
          ),
        ],
      ),
Другие вопросы по тегам