double.infinity和MediaQuery有什么区别?
为了使用整个宽度或高度,我使用double.infinity
,但是通过一些颤动样本,我注意到许多人使用MediaQuery.of(context).size.width
或height
。我浏览了文档,但是在这两者之间以及何时使用哪一个都具有相同功能方面没有提到任何区别。它们特定于特定的小部件吗?
回答:
区别可以总结为:
- 我想和父母允许的一样大(double.infinity)
- 我想和屏幕(MediaQuery)一样大。
通常,您会想使用double.infinity
,但并非总是可能的。
一些小工具让自己的孩子一样大,因为他们想成为(Column
,ListView
,OverflowBox
…)。在这种情况下,使用double.infinity
会产生一个悖论:
- 父母允许任何大小
- 孩子想要父母允许的最大尺寸
MediaQuery
在这些情况下使用是不好的。除非您要创建类似于的窗口小部件,否则您几乎不需要这样做Scaffold
。
这就是诸如此类的小部件IntrinsincHeight
派上用场的地方。这些小部件能够解决这一矛盾,因此具有有效的布局。
以上是 double.infinity和MediaQuery有什么区别? 的全部内容, 来源链接: utcz.com/qa/402194.html