即使我总是可滚动,我的Listview也无法滚动

问题描述

我不明白是什么导致了错误

我的代码一个单独的类中,带有返回的Widget方法,该方法返回一个堆栈,该堆栈封装了我的Listview。

注意:当我使用Listview复制Container并修改适当的值时;然后再以A Stack作为父项粘贴到新项目中,看来效果很好。

代码如下:

AddStockUI(){
    Widget getAddStockUI() {
        final mediaSize = MediaQuery.of(context).size;
        return Container(
          width: mediaSize.width,height: mediaSize.height,color: Colors.white,child: Stack(
            children: <Widget>[
              //Head - image
              Container(
                width: mediaSize.width * .8,height: mediaSize.height * .2,margin: EdgeInsets.only(
                  left: mediaSize.width * .1,right: mediaSize.width * .1,top: mediaSize.height * .05,),child: Row(
                  children: <Widget>[
                    Container(
                      width: mediaSize.width * .37,child: Image.asset(
                        'assets/images/image_add_image.png',width: mediaSize.width * .37,filterQuality: FilterQuality.high,fit: BoxFit.fill,Spacer(),Container(
                        constraints: BoxConstraints(
                            maxHeight: mediaSize.height * .2,maxWidth: mediaSize.width * .37),padding: EdgeInsets.all(0),child: ListView.builder(
                            padding: EdgeInsets.all(0),physics: AlwaysScrollableScrollPhysics(),itemCount: myMapDesc.keys.length + 1,itemBuilder: (BuildContext ctx,int index) {
                              if (index == 0) {
                                return Container(
                                  width: mediaSize.width * .35,height: mediaSize.height * .03,child: Row(
                                    children: <Widget>[
                                      Center(
                                          child: Container(
                                        width: mediaSize.width * .14,child: AutoSizeText(
                                          "variation",style: TextStyle(color: myLightDarkColor),maxFontSize: 14,minFontSize: 12,maxLines: 1,)),Center(
                                          child: Container(
                                        width: mediaSize.width * .1,child: AutoSizeText(
                                          "value",Container(width: mediaSize.width * .11)
                                    ],);
                              } else {
                                return Container(
                                  margin:
                                      EdgeInsets.only(top: mediaSize.height * .025),width: mediaSize.width * .35,child: Row(
                                    children: <Widget>[
                                      Center(
                                          child: Container(
                                        width: mediaSize.width * .1,child: AutoSizeText(
                                          myMapDesc.keys
                                              .toList()[index - 1]
                                              .toString(),child: AutoSizeText(
                                          myMapDesc.values
                                              .toList()[index - 1]
                                              .toString(),Icon(
                                        Icons.remove_circle,color: Colors.red,)
                                    ],);
                              }
                            }))
                  ],}
    }

解决方法

尝试使用SingleChildScrollView包装您的ListView

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...