Flutter 实际上,底部溢出123像素意味着什么
我正在学习颤振,目前从android切换到颤振。在颤振中,我通常会遇到类似这样的错误Flutter 实际上,底部溢出123像素意味着什么,flutter,Flutter,我正在学习颤振,目前从android切换到颤振。在颤振中,我通常会遇到类似这样的错误 底部溢出234个像素或renderbox溢出340个像素。我通过增加小部件的高度解决了这个问题。如果是这样,那么如何知道小部件的大小。我的意思是在安卓系统中,我们可以将布局高度声明为包装内容,并且它可以完美工作。请向我解释这是如何实现的我是否可以避免这种情况,因为如果我通过更改一个设备中小部件的高度来解决问题,那么如果其他屏幕尺寸的设备中出现相同的错误,那么我是否可以避免这种情况?下面是一个抛出错误的图像。忽略
底部溢出234个像素
或renderbox溢出340个像素
。我通过增加小部件的高度解决了这个问题。如果是这样,那么如何知道小部件的大小。我的意思是在安卓系统中,我们可以将布局高度声明为包装内容,并且它可以完美工作。请向我解释这是如何实现的我是否可以避免这种情况,因为如果我通过更改一个设备中小部件的高度来解决问题,那么如果其他屏幕尺寸的设备中出现相同的错误,那么我是否可以避免这种情况?下面是一个抛出错误的图像。忽略红色错误,请查看屏幕下方的错误。提前感谢
! 如果您想为小部件提供固定的宽度和高度,请使用SizedBox包装它。 您可以指定固定的宽度和高度,您的子部件将是精确的尺寸 如果希望其中一个维度固定,另一个维度与父窗口小部件一样大,可以尝试以下操作:
SizedBox(
width: double.inifinity,
height: 50.0
child: Conttainer()
)
如果您担心给定固定尺寸。您可以根据屏幕大小的比例给出高度或宽度。您可以按如下方式获得屏幕的高度和宽度:
SizedBox(
width: double.inifinity,
height: 50.0
child: Conttainer()
)
double width=MediaQuery.of(context).size.width
使用上述值为小部件指定宽度,如下所示:
Container(
width: MediaQuery.of(context).size.width * 0.8,
height: 100,
)
回答评论中的问题。可以执行以下操作以使用动态内容包装文本
ConstrainedBox(
constraints: BoxConstraints(
maxWidth: 100
),
child: Text(
'ADASFASF ssss'
),
)
如果文本小部件的宽度超过100像素,上面的代码将把文本包装到下一行。因为我们对高度没有任何限制。当子窗口小部件的最小大小大于父窗口小部件的限制(宽度和/或高度)时,会发生溢出 这意味着您可以:
- 使父窗口小部件变大(例如:SizedBox(高度:,宽度:,)
- 使孩子变小(例如:使用FittedBox(fit:BoxFit.scaleDown)小部件)
FittedBox(
适合度:BoxFit.scaleDown,
子项:_buildChildWidget(),
)
然后,您可以将其包装到其他小部件中,以构建所需的布局(行、扩展、灵活、LayoutBuilder等)
因为溢出问题通常是因为文本或图像太大而发生的。一个好的练习是,在将文本大小设置为设备的可访问性选项允许的最大值的同时,尝试使应用程序正常工作。例如,通过设置相对于文本大小的图像大小,可以对图像执行相同的操作
填充和边距也会导致问题,因为它们为子小部件留下的空间较少。假设容器小部件包含文本小部件,并且文本数据是从服务器动态接收的,并且数据可以是一行到一行的,在这种情况下,我如何知道小部件的大小?考虑到不同的设备具有不同的屏幕大小,在这种情况下,如果您的高度为2倍。无穷大,文本将换行到下一行,因此您可以尝试使用ConstrainedBox换行文本。