Почему в конце моих строк есть лишнее пространство? - PullRequest
0 голосов
/ 26 мая 2020

Я создал виджет для отображения таблицы лиги, но получил дополнительное пространство в конце каждой строки.

Таблица представляет собой просто виджет столбца со списком виджетов строки.

Каждая строка содержит список Контейнеров, каждый с фиксированной шириной.

См. Это изображение:

enter image description here

'' 'потомок: Центр (дочерний элемент: ClipRRect (borderRadius: BorderRadius.circular (10.0), дочерний элемент: Контейнер (

            padding: EdgeInsets.all(10),
              color: Colors.red,
              child: Column(children: [
                    Row(
                      children: [
                        Container(child: Text('#', style: TextStyle(fontWeight: FontWeight.bold)), width: widths[0]),
                        Container(child: Text('Lag', style: TextStyle(fontWeight: FontWeight.bold)), width: widths[1]),
                        Container(child: Text('SP', style: TextStyle(fontWeight: FontWeight.bold)), width: widths[2]),
                        Container(child: Text('+', style: TextStyle(fontWeight: FontWeight.bold)), width: widths[3]),
                        Container(child: Text('=', style: TextStyle(fontWeight: FontWeight.bold)), width: widths[4]),
                        Container(child: Text('-', style: TextStyle(fontWeight: FontWeight.bold)), width: widths[5]),
                        Container(child: Text('PP', style: TextStyle(fontWeight: FontWeight.bold)), width: widths[6]),
                        Container(
                            child: Text(
                              'MP',
                              style: TextStyle(fontWeight: FontWeight.bold),
                              textAlign: TextAlign.right,
                            ),
                            width: widths[7]),
                      ],
                    ),
                    ...table.map((row) {
                      Widget w = Row(children: [
                        Container(child: Text('${row.pos}.'), width: widths[0], color: odd ? oddColor : evenColor),
                        Container(
                            child: Text(
                              row.name,
                              softWrap: false,
                              overflow: TextOverflow.fade,
                            ),
                            width: widths[1],
                            color: odd ? oddColor : evenColor),
                        Container(child: Text('${row.sp}'), width: widths[2], color: odd ? oddColor : evenColor),
                        Container(child: Text('${row.wins}'), width: widths[3], color: odd ? oddColor : evenColor),
                        Container(child: Text('${row.draws}'), width: widths[4], color: odd ? oddColor : evenColor),
                        Container(child: Text('${row.losses}'), width: widths[5], color: odd ? oddColor : evenColor),
                        Container(child: Text('${row.pp}'), width: widths[6], color: odd ? oddColor : evenColor),
                        Container(
                            child: Text('${row.mp.toStringAsFixed(0)}', style: TextStyle(fontWeight: FontWeight.bold), textAlign: TextAlign.right),
                            width: widths[7],
                            color: odd ? oddColor : evenColor),
                      ]);
                      odd = !odd;
                      return w;
                    }).toList()
                  ])))));

'' '

1 Ответ

0 голосов
/ 26 мая 2020

Не уверен на 100%, но попробуйте добавить mainAxisSize = MainAxisSize.min в свои строки, например:

Widget w = Row(
  mainAxisSize = MainAxisSize.min,
  children: [
...