Элементы Flutter GridView с динамическим размером

Я пытаюсь создать приложение, которое показывает обычный ListView в портретном режиме и GridView с 3 столбцами в ландшафтном режиме. Для определения режима у меня уже есть рабочий способ получить режим. Я просто не могу понять, как мне это сделать по-хорошему. Я нашел эту библиотеку, но не совсем понимаю, как с ее помощью делать то, что хочу. Когда я использую его, мои ListTiles просто превращаются в квадрат в ландшафтном или портретном режиме. Может кто-нибудь помочь мне?

Некоторый код, чтобы упростить понимание:

Благодаря этому все предметы выглядят как квадрат

GridView(
              gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(
                crossAxisCount: orientation == Orientation.portrait ? 1 : 3,
              ),
              children: items,
            ),

Я знаю, что есть childAspectRatio собственность в GridView. Я не хочу использовать это, потому что оно не одинаково для всех ориентаций и размеров экрана.

0 ответов

Другие вопросы по тегам