Flutter 全局获取 MediaQuery.of(context).size.width 和 height 的最佳方式

Has*_*sen 6 dart flutter

我是否需要获取MediaQuery.of(context).size.width每个小部件,或者有没有办法获取它一次,也许在 中main.dart,存储它并使其在每个文件和每个类中可用?最好不必通过其中任何一个。归根结底,它不是一个永远不会改变的值,所以希望只能得到它一次。

我来自 React Native,只需var {width, height} = require('Dimensions').get('window');在 styles.js 文件中运行一次就非常容易。

Loï*_*kam 3

对我有用的一种方法是使用常量文件。在constant.dart,我有全局变量double deviceWidthdouble deviceHeight

在此输入图像描述,

在第一次使用它之前,请确保使用构建上下文在第一个小部件中初始化它们。

在此输入图像描述

然后您可以导入constant.dart到需要MediaQuery大小的每个视图并使用deviceHeigth and声明的 deviceWidth` 变量