flutter 滚动时ListView中的ListTiles不会消失

gfttwv5a  于 2022-11-26  发布在  Flutter
关注(0)|答案(2)|浏览(141)

我在Column中有一个ListView。在该ListView中,我想放置几个ListTiles。不幸的是,滚动时这些图块的行为很奇怪。它们显示在Column中放置的其他部件的顶部

有没有办法防止ListTile的这种行为?
下面是我的代码:

Column(children: [
    const ChatHeader(),
    Padding(
        padding: const EdgeInsets.all(8),
        child: SizedBox(
            height: 300,
            child: ListView.builder(
                padding: const EdgeInsets.only(left: 8, right: 8),
                scrollDirection: Axis.vertical,
                itemCount: myCollection,
                shrinkWrap: true,
                physics: const BouncingScrollPhysics(),
                itemBuilder: (BuildContext context, int index) {
                  var item = myCollection[index];
                  return Column(children: [
                    Row(
                      children: [
                        Container(
                            decoration: boxDecoration(
                                radius: 20, bgColor: d_colorPrimary)),
                        text("${item.value1}", fontSize: textSizeMedium)
                      ],
                    ),
                    ListTile(
                        dense: true,
                        shape: const RoundedRectangleBorder(
                            borderRadius: BorderRadius.all(Radius.circular(8))),
                        tileColor: quiz_light_gray,
                        title: SizedBox(
                            child: text(item.name,
                                fontSize: textSizeMedium,
                                textColor: d_textColorPrimary,
                                isLongText: true,
                                maxLine: 10)))
                  ]);
                }))),
    16.height,
    Container(color: greenColor, child: Text("text input here"))
  ]);

用容器替换ListTiles解决了这个问题。据我所知,没有任何属性可以阻止这种行为。仍然要使用ListTiles。

5n0oy7gb

5n0oy7gb1#

1.也许这是因为BouncingScrollPhysics()的使用。尝试用Neverscrollablescrollphysics()替换它,或者用Expanded小部件 Package 整个Listview.builder。这将使您不会使用shirnkWrapphysics属性。
1.如果Container小部件解决了这个问题,那么您可以尝试用另一个Sizedbox()小部件 Package Listile()

mkshixfv

mkshixfv2#

我已经将带有ListView的SizedBox Package 在一个Material小部件中,这样就解决了这个问题。

相关问题