首页 > 解决方案 > 如何在颤动中动态更改填充或边距

问题描述

要动态更改我使用的高度和宽度:

final screenSize = MediaQuery.of(context).size;

Container(
      height: screenSize.height*0.45,
       width: screenSize.width*0.45,

   ),
 ),

我的问题是如何动态更改填充和边距,以便布局在不同尺寸的屏幕上看起来相同,或者我也应该使用带有填充和边距的 screenSize?这就是我现在使用它的方式

padding: const EdgeInsets.only(top: 10.0, left: 10),

标签: flutter

解决方案


您现在正在做的是距离屏幕顶部 10 个像素和距离屏幕左侧 10 个像素的填充。这样容器在不同的屏幕尺寸上可能会有更大或更小的形状。您可以通过使用 screenSize 值和媒体查询来动态执行此操作,以便根据屏幕大小设置填充:

padding: EdgeInsets.only(top: screenSize.height*0.1, left: screenSize.width*0.1), 

上面代码的结果将是从顶部到屏幕高度的 10% 和从左侧到屏幕宽度的 10% 的填充。这就是您可以动态设置填充的方式。const(另外请注意,如果您使用 mediaQuery 值,则不能使用关键字,因为该值在编译时不可用。

看看这篇文章。


推荐阅读