当前位置: 首页 > 知识库问答 >
问题:

ListView.builder部件不滚动

郝修为
2023-03-14

我有一个列表视图。我的页面上的生成器小部件。问题是小部件在显示结果时没有滚动。请问我做错了什么?。下面的代码显示了我到目前为止所做的尝试。

我试过只把ListView.builder小部件放在页面上,小部件在这种情况下滚动,但一旦我添加另一个小部件Listview停止滚动。

@重写小部件生成(BuildContext上下文){returnscaffold(appBar:appBar(

          title: Text(widget.title,style: TextStyle(fontSize: 14),),
        ),
        body: SingleChildScrollView(
          scrollDirection: Axis.vertical,
          physics: AlwaysScrollableScrollPhysics(),
          child:Column(
            children: <Widget>[
              Row(
                mainAxisAlignment: MainAxisAlignment.center,
                children: <Widget>[
                  Container(
                    child:Expanded(
                      child: Image.asset("assets/images/1frenchToast.webp"),
                    ),
                    // ),
                  ),
                ],
              ),
              SingleChildScrollView(
                child: ListView.builder(
                  //scrollDirection: Axis.vertical,
                  physics: AlwaysScrollableScrollPhysics(),
                  itemCount:  foodCategory != null?foodCategory.length:1,
                  itemBuilder: (context,index){
                    return ListTile(
                      //dense: true,
                      leading: Container(
                        margin: EdgeInsets.only(bottom: 10),
                        child:Image.asset('assets/images/3poached-egg.webp',),
                      ),
                      title: Text(foodCategory != null?foodCategory[index].foodType:1),
                      onTap: (){
                        _navigate(dropDownSelectedItemState, foodCategory[index].foodType);
                      },
                    );
                  },shrinkWrap: true,
                  // physics: AlwaysScrollableScrollPhysics(),

                ),
              ),

            ],
          ),

        ),

        floatingActionButton: FloatingActionButton(
          onPressed: null,
          tooltip: 'Increment',
          child: Icon(Icons.add),

我希望能够使我的ListView。生成器使用显示的代码滚动

共有1个答案

晋奕
2023-03-14

根据另一个线程中@VidorVistrom的建议,我就是这样解决这个问题的。我包装了ListView。构建器在容器小部件中,并简单地将其高度设置为200,然后删除ListView周围的SingleChildScrollView。建设者和繁荣解决了问题。以防这会帮助其他人。

完整的代码如下所示:

@override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( title: Text(widget.title,style: TextStyle(fontSize: 14),),
        ),
        body: SingleChildScrollView(
          scrollDirection: Axis.vertical,
          physics: AlwaysScrollableScrollPhysics(),
          child:Column(
            children: <Widget>[
              Row(
                mainAxisAlignment: MainAxisAlignment.center,
                children: <Widget>[
                  Container(
                    child:Expanded(
                      child: Image.asset("assets/images/1frenchToast.webp"),
                    ),
                    // ),
                  ),
                ],
              ),
              Container(//child:SingleChildScrollView(
                                  height: 200,
                                  margin: EdgeInsets.only(top: 20),
                                  //scrollDirection: Axis.vertical,
                                  // physics: AlwaysScrollableScrollPhysics(),
                                  child: ListView.builder(
                                    scrollDirection: Axis.vertical,
                                    physics: AlwaysScrollableScrollPhysics(),
                                    itemCount:  foodCategory != null?foodCategory.length:1,
                                    itemBuilder: (context,index){
                                      return ListTile(
                                        dense: true,
                                        leading: Container(
                                          margin: EdgeInsets.only(bottom: 10),
                                          child:Image.asset('assets/images/3poached-egg.webp',),
                                        ),
                                        title: Text(foodCategory != null?foodCategory[index].foodType:1),
                                        onTap: (){
                                          _navigate(dropDownSelectedItemState, foodCategory[index].foodType);
                                        },
                                      );
                                    },shrinkWrap: true,
                                    // physics: AlwaysScrollableScrollPhysics(),

                                  ),//)

                                ),

            ],
          ),

        ),

        floatingActionButton: FloatingActionButton(
          onPressed: null,
          tooltip: 'Increment',
          child: Icon(Icons.add),
 类似资料:
  • 在尝试实现flutter-firebase时,未能显示! 注意,当我尝试在没有的情况下显示第一个元素时,它工作得很好,即错误只出现在与这段代码相关的地方:

  • 我正在为一个网站更新amazonpay实施,以实现新的授权流程,该流程已成功实施。然而,我发现之前的钱包小部件工作不正常。 shipping和wallet窗口小部件都会呈现,但滚动钱包以选择不同的支付方式(并测试授权流程的其他结果)不起作用。 具体来说,当我单击右箭头以显示下一个方法时,唯一的更改是显示左箭头,在这个过程中,显示或结果没有任何更改。 由于这些都是亚马逊生成的脚本中的内容,因此我不知

  • 我是Flutter的新手,面临着StreamBuilder的问题 我在点击卡片列表中可用的按钮(应用按钮)时进行网络呼叫,基于显示的其他按钮。 我面临的问题是,小部件不更新成功的网络调用后,但当我刷新页面我得到更新的结果。 我做错了什么? 我没有在这方面使用任何状态。我需要用它吗? //下面是我如何将数据添加到流中的 预期结果:当我进行网络呼叫时,如果成功,那么根据网络结果,其他按钮必须显示在相应

  • 现在的情况是:当内部滚动条滚动到底部时如果继续滚动,外部滚动条不会滚动,需要停顿或者移动鼠标滚动才能触发外层滚动条

  • 我有一个按钮,当点击应该平滑地滚动到顶部。平稳过渡并不奏效。现场网站。-->http://acetronaut.com 这里还有一个代码页。不管用。https://codepen.io/anon/pen/lbpwrv HTML: CSS: jQuery:

  • 本文向大家介绍jquery滚动到顶部底部代码,包括了jquery滚动到顶部底部代码的使用技巧和注意事项,需要的朋友参考一下 HTML JS代码 以上所述就是本文的全部代码了,希望大家能够喜欢。