Как я могу измерить конкретную высоту флаттера?

Понятия не имею, чтобы разобраться в этой проблеме в трепете. Я хочу знать размер без размера панели приложения и размера панели вкладок (вверх).

Я использую переменную vertical_size как

      var vertical_size = (MediaQuery.of(context).size.height -
                AppBar().preferredSize.height -
                MediaQuery.of(context).padding.top);

но я не понял размер панели вкладок. Это значит, что в Iphone есть негабаритные. (Android сейчас в порядке ...)

У вас есть идея измерить высоту панели вкладок с помощью Mediaquery? Или есть идея измерить фактическую площадь использования?

2 ответа

Вы всегда можете определить свободное пространство в любом месте вашего макета с помощью LayoutBuilder

В случае полной полезной высоты экрана вы можете использовать MediaQuery

, но апарат от высоты appbar и верхнего отступа, помните о нижнем заполнении. Вам также нужно вычесть это

Привет и добро пожаловать в StackOverflow.

В iOS он не слишком большой. Что происходит, так это то, что он будет учитывать безопасную зону, следовательно, его высота будет больше / меньше в зависимости от устройства, на котором он работает.

Если вы хотите получить высоту экрана без высоты, просто сделайте это следующим образом:

      Widget build() {
  AppBar appBar = AppBar();

  double vertical_size = MediaQuery.of(context).size.height - appBar.preferredSize.height;

  return Scaffold(
    appBar: appBar,
    body: // your widget
  );
}

В AppBarвысота будет учитываться в строке состояния устройства и т. д., поэтому нет необходимости удалять вставку вручную.

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