首页 > 解决方案 > 孩子和括号的问题

问题描述

早上好,我的支架和孩子有问题。当我将 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),
                             
                            )    
                             
                             )
                             
                           )
                
                
                       
                         )
                       ]
                  )
                  
           )
         );
         
         
       }                     

这不是结束,但我认为这是关键部分

标签: flutter

解决方案


某些小部件只允许多个孩子,在您的代码中看起来您有多个孩子只能处理一个孩子。像堆栈一样允许多个孩子,但容器不允许多个孩子。请检查所有容器代码,容器小部件中有多个子项。

编辑:无错误代码,请分享应用程序的设计,以便所有小部件都可以正确对齐。

这是代码

 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),
        ),
      ),
    );
  }


推荐阅读