flutter - Flutter:在 Stack() 场景中使用 CheckboxListTile() 和 Positioned() 时出现问题
问题描述
我无法定位CheckboxListTile()小部件(使用Positioned()),其中小部件是Stack()父小部件的子级之一。小部件没有出现在屏幕上,好像它隐藏在另一个小部件后面,或者它正在被渲染到其指定的客户区域之外。
这是代码:
Widget build(BuildContext context) {
return Stack(
children: [
Positioned(
left: 0,
top: 0,
child: Container(
color: Colors.red,
child: CheckboxListTile(
value: checkboxImage,
title: Text(widget.label),
controlAffinity: ListTileControlAffinity.leading,
onChanged: (value) => setState(() => checkboxImage = value),
),
padding: EdgeInsets.only(left: 10, right: 10),
),
),
],
);
}
这是我尝试过的:
- 我已经省略了堆栈中的所有其他同级小部件,以排除 CheckboxListTile() 隐藏在其他同级小部件后面的可能性。
- 如果我用 Text('Hello') 之类的简单小部件替换 CheckboxListTile() 小部件,则会出现该小部件。
- 如果我省略 Positioned() 小部件并将其替换为 CheckboxListTile() 小部件,则会出现该小部件。
- 如果我将其他坐标传递给 Positioned() 即 Positioned(left:10, top: 20) 或 Positioned(left:10, top: -10),则没有效果。
- 我查看了 Dart Devtools 中的小部件,Positioned() 小部件及其 CheckboxListTile() 子小部件出现在小部件树中,但据我所知,我使用的 devtools 版本无法在布局窗格。
非常感谢所有帮助/建议。
/小何塞
解决方案
如果我省略,我的 IDE 会给我一个BoxConstraints forces an infinite width.
错误right: 0
。
Positioned(
left: 0,
right: 0,
top: 0,
child: ...
)
推荐阅读
- reactjs - 如何在 ReactJS 中获取 api 数据?
- javascript - Javascript - 如何从多维数组中提取重复值并将它们放入单独的数组中?
- java - 比较对象练习 (Java)
- java - 方法中的空字符串返回语句,这只是为了名义目的还是可以改进?
- javascript - 如何使用reduce函数将数组转换为对象?
- sql - 你好,。我要 ssms 查询(SQL 查询)
- python - OpenCV背景减法获取颜色对象(Python)
- javascript - Asp.net core MVC 在不联系服务器的情况下禁用客户端计算机上的许多元素
- python - 如何在烧瓶中逐行返回一个json文件?
- javascript - 如何将字符串转换为 JavaScript 数组?