Flutter 颤振:带有ListView.separated()大小与内容的ModalBottomSheet

Flutter 颤振:带有ListView.separated()大小与内容的ModalBottomSheet,flutter,flutter-layout,Flutter,Flutter Layout,我在showModalBottomSheet()的builder中使用了ListView.separated()。我希望根据显示的ListTile小部件的数量调整底页的大小 这是我的密码: showModalBottomSheet( context: context, backgroundColor: Colors.blueGrey, isScrollControlled: false,

我在
showModalBottomSheet()
builder
中使用了
ListView.separated()。我希望根据显示的
ListTile
小部件的数量调整
底页的大小

这是我的密码:

showModalBottomSheet(
              context: context,
              backgroundColor: Colors.blueGrey,
              isScrollControlled: false,
              builder: (context) => Wrap(
                children: [
                  ListView.separated(
                    itemCount: lists.length,
                    itemBuilder: (BuildContext context, int index) =>
                        ListTile(
                      title: Text(lists[index].listName),
                    ),
                    separatorBuilder: (BuildContext context, int index) =>
                        Divider(),
                  ),
                ],
              ),
            );

我尝试将
列表视图
包装在
包装
小部件中,但由于
包装
的子项没有设置的高度,因此出现了一个错误。有什么提示吗?

您可以使用
列表视图
小部件中的
收缩包装
参数来完成此操作。


通过将
wrapp
设置为
true
我不再需要
wrapp
小部件,因为
底页
会自动调整自身大小以适应
列表视图的高度。separated()
。是吗?是的。您可以删除“包装”小部件。我确认它在删除“包装”小部件后运行良好。如果我错了,请随意告诉我。
showModalBottomSheet(
            context: context,
            builder: (context) => ListView.separated(
              shrinkWrap: true,
              itemCount: 4,
              itemBuilder: (BuildContext context, int index) => ListTile(
                title: Text('item $index'),
              ),
              separatorBuilder: (BuildContext context, int index) => Divider(),
            ),
          );