MediaQuery.of(context).size.width
и MediaQuery.of(context).size.height
отлично работает, но каждый раз нужно писать выражения типа width / 20, чтобы установить определенную ширину высоты.
Я создал новое приложение по флаттеру, и у меня возникли проблемы с размерами экрана при переключении между разными устройствами.
Да, доступен flutter_screenutil
плагин для настройки размера экрана и шрифта. Пусть ваш пользовательский интерфейс будет отображать разумный макет на экранах разных размеров!
Применение:
Добавить зависимость :
Перед установкой проверьте последнюю версию.
dependencies:
flutter:
sdk: flutter
# add flutter_ScreenUtil
flutter_screenutil: ^0.4.2
Добавьте следующий импорт в свой код Dart:
import 'package:flutter_screenutil/flutter_screenutil.dart';
Инициализируйте и установите подходящий размер и размер шрифта для масштабирования в соответствии с параметром доступности системы «Размер шрифта».
ScreenUtil.instance = ScreenUtil()..init(context);
ScreenUtil.instance = ScreenUtil(width: 750, height: 1334)..init(context);
ScreenUtil.instance = ScreenUtil(width: 750, height: 1334, allowFontScaling: true)..init(context);
Используйте :
Container(
width: ScreenUtil().setWidth(375),
height: ScreenUtil().setHeight(200),
...
),
Container(
width: ScreenUtil().setWidth(300),
height: ScreenUtil().setWidth(300),
),
Пожалуйста, обратитесь к обновленной документации для получения более подробной информации.
Примечание: я тестировал и использую этот плагин, который действительно отлично работает со всеми устройствами, включая iPad.
Надеюсь, это поможет кому-то