是否可以在Stack内部的条件语句中添加Positioned小部件和SizedBox小部件?

时间:2019-10-25 13:11:20

标签: flutter

我看到了重新设计的Instagram UI的YOUTUBE视频,并试图拒绝它。 在视频中,该人添加了一个SizedBox(width:10.0)以在用户的​​故事圈的开头添加一些空间,但他没有在其中添加小加号,因此我尝试自己做,但在尝试中遇到了麻烦将定位的窗口小部件添加到SizedBox窗口小部件中,并最终出现_debug之类的错误…… This is my App

body: ListView(
     physics: AlwaysScrollableScrollPhysics(),
     children: <Widget>[       
       Container(
         width: double.infinity,
         height: 100.0,
         child: ListView.builder(
           scrollDirection: Axis.horizontal,
           itemCount: _posts.length,
           itemBuilder: (BuildContext context,int index){
            return Stack(
              children: <Widget>[
                new Container(
                  margin: EdgeInsets.all(10.0),
                  width: 60.0,
                  height: 60.0,
                  decoration: BoxDecoration(
                    shape: BoxShape.circle,
                    boxShadow: [
                      BoxShadow(
                        color: Colors.black45,
                        offset: Offset(0, 2),
                        blurRadius: 6.0,
                      ),
                    ],
                  ),
                  child: CircleAvatar(
                    child: ClipOval(
                      child: Image(
                        height: 60.0,
                        width: 60.0,
                        image: AssetImage(_posts[index].imageUrl),
                        fit: BoxFit.cover,
                      ),
                    ),
                  ),
                ),
                index == 0 ? 
                Positioned(
                  right: 10.0,
                  bottom: 25.0,
                  child: CircleAvatar(
                    backgroundColor: Colors.blueAccent,
                    radius: 10.0,
                    child: Icon(
                      Icons.add,
                      size: 14.0,
                      color: Colors.white,
                    ),
                  ),
                ): new Container()
              ],
            );
          },
         ),
       ),

这是我现在正在使用的代码,但是如何添加更多空间来添加第一个故事或用户的故事?

我尝试使用此

                index == 0 ? 
                Row(children: <Widget>[
                  Positioned(
                  right: 10.0,
                  bottom: 25.0,
                  child: CircleAvatar(
                    backgroundColor: Colors.blueAccent,
                    radius: 10.0,
                    child: Icon(
                      Icons.add,
                      size: 14.0,
                      color: Colors.white,
                    ),
                  ),
                ),
                SizedBox(
                  width: 10.0,
                )
                ],): new Container()

但是,这最终给了我一些_debug错误,并且不呈现“故事”标签。 是否可以在条件语句中实现这两个小部件Positioned和sizebox,或者是否有任何方法可以帮助PLease Answer ..这是视频https://youtu.be/WYL66RNZpDI

谢谢。

0 个答案:

没有答案