Flutter flatter是全局获取MediaQuery.of(context).size.width和height的最佳方法
我是否需要为每个小部件获取Flutter flatter是全局获取MediaQuery.of(context).size.width和height的最佳方法,flutter,dart,Flutter,Dart,我是否需要为每个小部件获取MediaQuery.of(context).size.width,或者是否有一种方法可以一次获取它,可能是在main.dart中,将其存储并在每个文件和每个类中都可用?最好不需要通过任何一个。归根结底,这不是一个永远都不会改变的价值观,所以希望你能得到它一次 我来自React Native,只需运行var{width,height}=require('Dimensions')。get('window')在styles.js文件中使用一次。对我有效的一种方法是使用常量文
MediaQuery.of(context).size.width
,或者是否有一种方法可以一次获取它,可能是在main.dart
中,将其存储并在每个文件和每个类中都可用?最好不需要通过任何一个。归根结底,这不是一个永远都不会改变的价值观,所以希望你能得到它一次
我来自React Native,只需运行
var{width,height}=require('Dimensions')。get('window')代码>在styles.js文件中使用一次。对我有效的一种方法是使用常量文件。
在constant.dart
中,我有全局变量double deviceWidth
,double deviceHeight
,
在您第一次使用它之前,请确保在具有构建上下文的第一个小部件中初始化它们
然后,您可以将constant.dart
导入每个需要MediaQuery
大小的视图,并使用声明的deviceHeigth和deviceWidth`变量,我认为这不是MediaQuery的目的。比如,即使它影响到每个文件,只要声明它,它也不会改变任何东西。你必须积极地使用它,将应用程序的不同部分扔掉。@key,但它可以用来做出响应性强的设计。没有必要一次又一次地获取宽度和高度,因为它们永远不会改变。就像在React Native中一样,只需获取一次并将其分配给变量。