user-interface - 如何在 flutter 中获得相对于屏幕尺寸的小部件尺寸?

我正在构建一个 flutter 应用程序。在那里我做了一个 SliverAppBar:

child: NestedScrollView (
  headerSliverBuilder: (BuildContext context, i) {
    return <Widget> [
      SliverAppBar (
        backgroundColor: Colors.black,
        expandedHeight: 150.0,
      )
    ];
  },

我将高度设置为 150.0 像素。但我意识到这个尺寸会在不同的设备中发生变化。如何让尺寸在每台设备中占据 40% 的屏幕?

最佳答案

您可以将 BuildContext 上下文MediaQuery 一起使用来找出当前设备的屏幕尺寸。例如:

    var width = MediaQuery.of(context).size.width  * 0.4; // set width to 40% of the screen width
    var height = MediaQuery.of(context).size.height  * 0.4; // set height to 40% of the screen height

https://stackoverflow.com/questions/54059036/

相关文章:

flutter - 因为sdk的flutter_test的每个版本都依赖... sdk的flutte

dart - Flutter 有数据绑定(bind)吗?

dart - flutter/Dart 异步不等待

regex - Flutter 无法解析正则表达式

flutter - 如何更改 CupertinoDatePicker 显示语言?

intellij-idea - 如何在 IntelliJ 中自动完成/导入 Flutter 类?

ios - 如何在 Flutter 中隐藏导航栏(在 iPhone X 上)

android - Flutter - 多选 ListView

android - 如何在没有 Android Studio 的情况下使用模拟器在 VS 代码中安装

dart - Flutter - 修复抽屉页眉