首页 > 解决方案 > 单子滚动视图不会在颤动中滚动

问题描述

我正在创建一个带有博客的博客应用程序。我正在使用 singlechildscrollview 来实现滚动功能。但是滚动不起作用。但是没有渲染溢出错误。

当您有一个通常完全可见的单个框时,此小部件很有用,例如时间选择器中的钟面,但是如果容器在一个轴上太小(滚动方向),您需要确保它可以滚动)。

body: SingleChildScrollView(
        child: Container(
          child: Column(
            children: <Widget>[
              SizedBox(height: 12),
              ListView.builder(
                scrollDirection: Axis.vertical,
                shrinkWrap: true,
                padding: const EdgeInsets.all(8),
                itemCount: blogs.length,
                itemBuilder: (BuildContext context, int index) {
                  return Container(
                    child: SingleChildScrollView(
                      child: Center(
                        child: Column(
                          children: <Widget>[
                            Container(
                              height: 350,
                              width: double.infinity,
                              decoration: BoxDecoration(
                                gradient: LinearGradient(
                                  begin: Alignment.topLeft,
                                  end: Alignment.bottomRight,
                                  colors: <Color>[
                                    Colors.orange,
                                    Colors.red,
                                  ],
                                ),
                                borderRadius: BorderRadius.circular(20),
                              ),
                              child: FlatButton(
                                onPressed: () {
                                  Navigator.push(
                                    context,
                                    MaterialPageRoute(
                                      builder: (context) => BlogExpanded(
                                        title: blogs[index].title,
                                        content: blogs[index].content,
                                        pic1: Image.asset('hoilogo.png'),
                                        pic2: Image.asset('hoilogo.png'),
                                      ),
                                    ),
                                  );
                                },
                                child: SingleChildScrollView(
                                  child: Column(
                                    mainAxisAlignment: MainAxisAlignment.center,
                                    crossAxisAlignment:
                                        CrossAxisAlignment.center,
                                    children: <Widget>[
                                      Text(
                                        blogs[index].title,
                                        textAlign: TextAlign.center,
                                        style: kTitleHeadingBlogCard,
                                      ),
                                      SizedBox(height: 30),
                                      Image.asset('assets/images/hoilogo.png'),
                                    ],
                                  ),
                                ),
                              ),
                            ),
                            SizedBox(height: 20),
                          ],
                        ),
                      ),
                    ),
                  );
                },
              ),
            ],
          ),
        ),
      ),

我什至尝试添加容器,但它不滚动

标签: flutter

解决方案


在下面找到删除的代码,SingleChildScrollview它需要图像小部件的一些静态高度、宽度。

Container(
        child:  ListView.builder(
          scrollDirection: Axis.vertical,
          shrinkWrap: true,
          padding: const EdgeInsets.all(8),
          itemCount: 5,
          itemBuilder: (BuildContext context, int index) {
            return Container(
              child: Center(
                child: Column(
                  children: <Widget>[
                    Container(
                      height: 350,
                      width: double.infinity,
                      decoration: BoxDecoration(
                        gradient: LinearGradient(
                          begin: Alignment.topLeft,
                          end: Alignment.bottomRight,
                          colors: <Color>[
                            Colors.orange,
                            Colors.red,
                          ],
                        ),
                        borderRadius: BorderRadius.circular(20),
                      ),
                      child: FlatButton(
                        onPressed: () {
                        },
                        child: Column(
                          mainAxisAlignment: MainAxisAlignment.center,
                          crossAxisAlignment: CrossAxisAlignment.center,
                          children: <Widget>[
                            Text(
                              "fjj ",
                              textAlign: TextAlign.center,
                            ),
                            SizedBox(height: 30),
                            Image.asset('assets/images/image.jpg', fit: BoxFit.cover,height: 300, width: 900,),
                          ],
                        ),
                      ),
                    ),
                    SizedBox(height: 20),
                  ],
                ),
              ),
            );
          },
        ),
      )

推荐阅读