0

我有下面的代码。我需要让 StorySwipeList、_SearchBar 和 SizedBoxes 与页面的其余部分一起滚动。Listview Builder 滚动没有问题。但是顶部的 StorySwipeList、Sizedboxes 和 _searchBar 不想与它们一起滚动。

我在滚动视图和列表视图中添加了一个已删除的 Neverscroll 物理,我用一列替换了第一个列表视图并反转,添加了始终可滚动的物理等。似乎没有什么可以使那部分小部件移动。

有谁知道如何做到这一点?

return SafeArea(
      child: Scaffold(
        extendBody: false,
        extendBodyBehindAppBar: false,
        backgroundColor: HexColor('#0A0928'),
        body: SingleChildScrollView(
          physics: AlwaysScrollableScrollPhysics(),
          child: ListView(
            shrinkWrap: true,
            children: [
              StorySwipeList(
                  latestProTracks: pageManager.latestProTracksNotifier.value),
              SizedBox(
                height: 10,
              ),
              _searchBar(),
              SizedBox(
                height: 10,
              ),
              ValueListenableBuilder<List<MediaItem>>(
                valueListenable: pageManager.filteredMainPlaylistNotifier,
                builder: (context, playlist, _) {
                  TestLog.log('HOME PAGE: playlist size ${playlist.length}');
                  return SizedBox(
                    height: MediaQuery.of(context).size.height * 0.7,
                    child: ListView.builder(
                      physics: AlwaysScrollableScrollPhysics(),
                      shrinkWrap: true,
                      itemCount: playlist.length,
                      itemBuilder: (context, index) {
                        return PlaylistTrack(
                          index: index,
                          playlist: playlist,
                          track: playlist[index],
                          currentUserId: currentUserId,
                          playlistName: 'Main',
                        );
4

2 回答 2

0

移除 Sized Box 的高度限制似乎可以解决问题。

height: MediaQuery.of(context).size.height * 0.7,
于 2022-01-14T10:52:35.823 回答
0

尝试primary: true,在主 ListView 中设置。您可以将其设置为false其他内部。

于 2022-01-13T21:54:52.280 回答