Я на стабильном канале флаттера, и я недавно обновился с v1.2.1 до v1.5.4.После этого мой макет перестал работать так, как раньше.
У меня есть SliverGrid
с большим количеством Column
виджетов внутри.Внутри Column
у меня есть Image.asset()
, а также Text
виджет.Я хочу, чтобы все изображения в моей сетке были одинакового размера, однако текст может быть длиной в одну или две строки.
В флаттере v1.2.1 это работало так
ConstrainedBox(
constraints: BoxConstraints.expand(),
child: Container(
padding: EdgeInsets.fromLTRB(8, 0, 8, 0),
child: Column(
children: <Widget>[
Image.asset('src'),
Expanded(
child: Text(
widget.text,
style: TextStyle(
fontWeight: FontWeight.bold,
color: Colors.black),
textAlign: TextAlign.center,
),
),
],
),
),
),
Но, делая то же самое в v1.5.4, будет видна только первая строка моего текста, тогда как раньше было две, и я смог увеличить количество видимых строк, установив для свойства mainAxisSpacing: 11.0,
нечто большее.
Я могу получить примерно такое же поведение, обернув Image.asset()
в Expanded
тоже.Но даже после манипулирования значениями flex я не могу получить тот же макет.
Вот так выглядит мой минимальный пример при сборке с v1.2.1:
А как это выглядит с v1.5.4:
Код для примера, который я настроил, - Github .Очевидно, что вам понадобится собрать его с двумя разными версиями флаттера, если вы хотите увидеть эффект.
Мой вопрос, однако, заключается в том, как мне добиться того же поведения, которое я имел в v1.2.1 с v1.5.4 флаттера