Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/178.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 颤振:AlterDialog中的Listview不可滚动_Android_Flutter_Flutter Alertdialog - Fatal编程技术网

Android 颤振:AlterDialog中的Listview不可滚动

Android 颤振:AlterDialog中的Listview不可滚动,android,flutter,flutter-alertdialog,Android,Flutter,Flutter Alertdialog,我需要一个AlertDialog和minHeight的50。它包含一个列表视图。如果列表视图超出屏幕范围,则它应成为可滚动的。但由于某些原因,我无法滚动。谁能向我解释一下为什么它不起作用:) 警报对话框( 形状:RoundedRectangleBorder(borderRadius:borderRadius.circular(10)), 标题:, 内容:约束框( 约束:新的BoxConstraints( 身高:50, ), 子:列( 儿童:[ 第(…)行, 容器( 子项:ListView.bui

我需要一个
AlertDialog
minHeight
50
。它包含一个
列表视图
。如果
列表视图
超出屏幕范围,则它应成为可滚动的
。但由于某些原因,我无法滚动。谁能向我解释一下为什么它不起作用:)

警报对话框(
形状:RoundedRectangleBorder(borderRadius:borderRadius.circular(10)),
标题:,
内容:约束框(
约束:新的BoxConstraints(
身高:50,
),
子:列(
儿童:[
第(…)行,
容器(
子项:ListView.builder(
收缩膜:对,
itemCount:list.length,
itemBuilder:(上下文,索引){
返回手势检测器(
onTap:()=>\u onTap(列表[索引]),
孩子:排(
儿童:[
灵活的(
弹性:1,
子项:复选框(…),
), 
灵活的(
弹性:3,
子项:文本(列表[索引],)
],
)
);
},
)
)
],
),
),
行动:[
材料按钮(
最小宽度:100,
子项:文本('Cancel'),
已按下:(){
Navigator.of(context.pop();
}
),
材料按钮(
最小宽度:100,
标高:5.0,
颜色:主题。背景。强调颜色,
子项:文本('保存',样式:文本样式(颜色:颜色(0xFFF6F5F5)),
已按下:(){
}
)
],
);

将mainAxisSize:mainAxisSize.min添加到列中。如果没有它,您的列将处于无限高并包含所有Listview项。这就是为什么它不会滚动。

奇怪。我刚刚测试了一个类似的代码(当然比你的代码简单),没有问题。代码的其他部分可能会导致问题。是的,问题可能发生在其他地方。我将在周末进行测试。
 AlertDialog(
  shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(10)),
  title: ... ,
  content: ConstrainedBox(
    constraints: new BoxConstraints(
      minHeight: 50,
    ),
    child: Column(
      children: <Widget>[
        Row(...),
        Container(
          child:  ListView.builder(
            shrinkWrap: true,
            itemCount: list.length,
            itemBuilder: (context, index) {
              return GestureDetector(
                onTap: () => _onTap(list[index]),
                child: Row(
                  children: <Widget>[
                    Flexible(
                      flex: 1,
                      child: Checkbox(...),
                    ), 
                    Flexible(
                      flex: 3,
                      child: Text(list[index]),)
                  ],
                )
              );
            },
          )
        )
      ],
    ),
   ),
  actions: <Widget>[
    MaterialButton(
      minWidth:100,
      child: Text('Cancel'),
      onPressed: (){
        Navigator.of(context).pop();
      }
    ),
    MaterialButton(
      minWidth:100,
      elevation: 5.0,
      color: Theme.of(context).accentColor,
      child: Text('Save', style: TextStyle(color: Color(0xFFF6F5F5))),
      onPressed: (){

      }
    )
  ],
);