【问题标题】:Single Child Scroll View not scrolling in flutter单子滚动视图不会在颤动中滚动
【发布时间】:2020-06-30 06:43:48
【问题描述】:

我正在创建一个带有博客的博客应用程序。 我正在使用 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),
                          ],
                        ),
                      ),
                    ),
                  );
                },
              ),
            ],
          ),
        ),
      ),

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

【问题讨论】:

  • 你在 itemBuilder 小部件中使用 SingleChildScrollView 是为了什么?

标签: flutter


【解决方案1】:

在下面找到删除 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),
                  ],
                ),
              ),
            );
          },
        ),
      )

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-03-20
    • 1970-01-01
    • 1970-01-01
    • 2019-06-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多