【问题标题】:MediaQuery.of(context).padding.top return 0.0MediaQuery.of(context).padding.top 返回 0.0
【发布时间】:2019-08-27 11:06:23
【问题描述】:

我正在尝试使用以下代码获取状态栏高度,但它总是返回 0.0:

MediaQuery.of(context).padding.top

我在真机和模拟器上也测试过,结果是一样的。

代码:

    void _showBottomSheet(int selectedPosition) {
    showModalBottomSheetApp<void>(
        context: context,
        statusBarHeight: _navigationStore.statusBarHeight +
            MediaQuery.of(context).padding.top,
        dismissOnTap: true,
        builder: (BuildContext context) {
          return _buildJobDetails(selectedPosition);
        });
  }

我们将不胜感激:)

【问题讨论】:

  • 你能把完整的代码贴在你正在使用的地方吗,因为我在 iOS 和 Android 上测试过,它工作得很好。
  • @CopsOnRoad 我已经更新了问题,如果您还需要什么,请检查并告诉我。
  • showModalBottomSheet 中没有类似statusBarHeight 的属性
  • 有同样的未解决问题github.com/flutter/flutter/issues/58150

标签: flutter height statusbar flutter-layout


【解决方案1】:

首先,对于 showmodelbottomsheet,它将始终返回 0.0,因为您为此模型表设置了上下文。

所以将 statusBarHeight 声明为单独的变量 这是您的解决方案,

var status_bar_height;

 @override
  Widget build(BuildContext context) {
    status_bar_height = MediaQuery.of(context).padding.top;
    return Scaffold();
}

将此 status_bar_height 用于您的模型表。

【讨论】:

    猜你喜欢
    • 2021-04-08
    • 2020-03-30
    • 2021-12-02
    • 2021-03-23
    • 2022-09-28
    • 2013-04-03
    • 1970-01-01
    • 1970-01-01
    • 2021-06-08
    相关资源
    最近更新 更多