在颤振中,我们如何按百分比设置高度或宽度?

Posted

技术标签:

【中文标题】在颤振中,我们如何按百分比设置高度或宽度?【英文标题】:In flutter how can we set height or width by percentage? 【发布时间】:2020-07-17 07:48:36 【问题描述】:

需要知道一件事是否可以在 % 中定义高度/宽度?我正在学习一些教程,但最后,我注意到 UI 没有响应,所以我认为最好的方法是按百分比固定高度或宽度。

我们可以简单地以SizedBox为例

SizedBox(height: 20,)

如何在这个 SizedBox 中显示 5% 的高度?或任何其他使高度响应的最佳解决方案?

【问题讨论】:

***.com/questions/43122113/… 【参考方案1】:

您可以使用FractionallySizedBox 代替SizedBox

FractionallySizedBox(heightFactor: 1, widthFactor: 0.25,
  child: Container(color: Colors.orange)),

【讨论】:

感谢您的回答,您能告诉我如何用 40 大小的盒子高度替换吗?我尝试在整个页面的容器中工作正常,但在大小盒高度中,其显示错误 RenderPadding 对象在布局期间被赋予无限大小。你能告诉我如何设置 FractionallySizedBox 吗?【参考方案2】:

您可以访问 MediaQuery 属性

h = MediaQuery.of(context).size.height
w = MediaQuery.of(context).size.width

myWidgetHeight = h * 0.35

当您想要获取应用程序正在处理的屏幕大小并在函数中操作时,这很有帮助,而不是小部件属性

【讨论】:

以上是关于在颤振中,我们如何按百分比设置高度或宽度?的主要内容,如果未能解决你的问题,请参考以下文章

DIV宽度设置为百分比(如50%),如何使DIV的高度等于宽度

如何将最大宽度设置为百分比或静态值

div css样式宽度设成百分比怎么在浏览器中获得它的像素值?

jquery如何获得宽度为百分比的元素的宽度?

我可以根据基于百分比的宽度设置 div 的高度吗? [复制]

Xamarin Forms StackLayout:如何将子项的宽度/高度设置为百分比