flutter - 孩子和括号的问题
问题描述
早上好,我的支架和孩子有问题。当我将 Containers、Center 和 Stack 等组合在一起时,它在大多数情况下都会在某些单词下显示红线。当我能解决它时,总是很幸运。这是我的代码的一部分,我将向您展示我的意思。问题是孩子们之后的第一个孩子:
Widget build(BuildContext context) {
return Scaffold(
body: Container(
decoration: BoxDecoration(
image: DecorationImage(
image: AssetImage("assets/kreis.jpeg"), fit: BoxFit.fill)),
child: Stack(
children: <Widget>[
child:Container(
Center(
Visibility(
child: Text("Gone"),
visible: visibleT,
child:Container(
height: 150,
width: 150,
decoration: BoxDecoration(
shape: BoxShape.circle,
image: DecorationImage(
image: AssetImage("assets/T.jpeg"),fit: BoxFit.fill),
),
),
),
Visibility(
child: Text("Gone") ,
visible: visibleB,
child:Container(
height: 150,
width: 150,
decoration: BoxDecoration(
shape: BoxShape.circle,
image: DecorationImage(
image: AssetImage("assets/B.png"),fit: BoxFit.fill),
),
),
),
Visibility(
child:Text("Gone"),
visible: visibleH,
child: Container(
height: 150,
width: 150,
decoration: BoxDecoration(
shape: BoxShape.circle,
image: DecorationImage(
image: AssetImage("assets/h.png"),fit: BoxFit.fill),
),
),
)
),
Positioned(
right: 150,
top: 150,
width: 60,
height: 70,
child: FloatingActionButton(
onPressed:
_listen,
// setState(() { searchWord="Tinte";});
// getText();
child: Icon(_isListening ? Icons.mic : Icons.mic_none),
)
),
Positioned(
left: 100,
bottom: 10,
child: Container(
width: MediaQuery.of(context).size.width * 0.8,
decoration: BoxDecoration(
color: Colors.cyanAccent[100],
borderRadius: BorderRadius.circular(6.0),
),
padding: EdgeInsets.symmetric(
vertical: 8.0,
horizontal: 12.0,
),
child: Text(
_text,
style: TextStyle(fontSize: 24.0),
)
)
)
)
]
)
)
);
}
这不是结束,但我认为这是关键部分
解决方案
某些小部件只允许多个孩子,在您的代码中看起来您有多个孩子只能处理一个孩子。像堆栈一样允许多个孩子,但容器不允许多个孩子。请检查所有容器代码,容器小部件中有多个子项。
编辑:无错误代码,请分享应用程序的设计,以便所有小部件都可以正确对齐。
这是代码
bool _isListening = false;
bool visibleT = true;
bool visibleH = true;
bool visibleB = true;
@override
Widget build(BuildContext context) {
return Scaffold(
body: Container(
decoration: BoxDecoration(
image: DecorationImage(
image: AssetImage("assets/images/logo.png"), fit: BoxFit.fill)),
child: Stack(
children: [
Container(
child: Center(
child: Visibility(
visible: visibleT,
child: Column(
children: [
Text("Gone"),
Container(
height: 150,
width: 150,
decoration: BoxDecoration(
shape: BoxShape.circle,
image: DecorationImage(
image: AssetImage("assets/images/logo.png"),
fit: BoxFit.fill),
),
),
],
),
),
),
),
Container(
child: Center(
child: Visibility(
visible: visibleB,
child: Column(
children: [
Text("Gone"),
Container(
height: 150,
width: 150,
decoration: BoxDecoration(
shape: BoxShape.circle,
image: DecorationImage(
image: AssetImage("assets/images/logo.png"),
fit: BoxFit.fill),
),
),
],
),
),
),
),
Container(
child: Center(
child: Visibility(
visible: visibleH,
child: Column(
children: [
Text("Gone"),
Container(
height: 150,
width: 150,
decoration: BoxDecoration(
shape: BoxShape.circle,
image: DecorationImage(
image: AssetImage("assets/images/logo.png"),
fit: BoxFit.fill),
),
),
],
),
),
),
),
Positioned(
left: 100,
bottom: 10,
child: Container(
width: MediaQuery.of(context).size.width * 0.8,
decoration: BoxDecoration(
color: Colors.cyanAccent[100],
borderRadius: BorderRadius.circular(6.0),
),
padding: EdgeInsets.symmetric(
vertical: 8.0,
horizontal: 12.0,
),
child: Text(
"Some Text",
style: TextStyle(fontSize: 24.0),
)))
],
),
),
floatingActionButton: Positioned(
right: 150,
top: 150,
width: 60,
height: 70,
child: FloatingActionButton(
child: Icon(_isListening ? Icons.mic : Icons.mic_none),
),
),
);
}
推荐阅读
- javascript - How to fetch selected option in javascript for more than one dropdowns
- javascript - 从角度的大子组件更新祖父组件中的布尔属性
- c# - 如何在 Blazor WASM 项目中动态下载和呈现程序集?
- android - 如何在导航组件中打开片段的多个实例?
- python-3.x - Pyinstaller:Linux 可执行文件给出语法错误:意外的“(”?
- angular - 如何组合 2 个可观察对象并根据 Angular 8 中的特定条件发出值
- laravel - Laravel 在安装 vue 和 npm run dev 时出错
- python - Python mixins 中的主类类型
- laravel - 为什么图像验证接受文本文件 laravel postman?
- python - 编写一个类是从 graphql API 响应返回的 JSON 对象创建变量集合的好方法吗?