水平列表视图在 Flutter 中的垂直 ListWheelScrollView 内不起作用

问题描述 投票:0回答:0

如果有单个项目,内容会完美呈现,但是一旦我们尝试将轮播作为

ListWheelScrollView
的孩子之一,它就无法理解水平滑动。

如果将普通列表视图与普通 ScrollController() 一起使用,则此代码有效

我的要求是如果用户在位置之间滚动,则显示列表中最近的子项,因此使用

FixedExtentScrollController

使用的Scroll Controller固定一个

FixedExtentScrollController()
与下面 ListWheelScrollView

Widget build(BuildContext context) {
    return SizedBox(
      height: MediaQuery.of(context).size.height,
      child: ListWheelScrollView.useDelegate(
        itemExtent: MediaQuery.of(context).size.height * 0.87,
        perspective: 0.001,
        physics: const FixedExtentScrollPhysics(),
        controller: scrollController,
        childDelegate: ListWheelChildBuilderDelegate(
          childCount: data.length,
          builder: (BuildContext context, int index) {
            return iStreamWidget.render(data[index]);
          },
        ),
      ),
    );
  }

水平列表视图

Container(
      height: height * 0.88,
      padding: const EdgeInsets.symmetric(
        horizontal: 20.0,
        vertical: 35.0,
      ),
      child: Column(
        crossAxisAlignment: CrossAxisAlignment.start,
        children: [
          _buildTitle(carouselPostModel.title, postModel.postFontType, context),
          Expanded(
            child: SizedBox(
              width: double.infinity,
              child: ListView.separated(
                  itemCount: descriptionList.length,
                  scrollDirection: Axis.horizontal,
                  shrinkWrap: true,
                  physics: const BouncingScrollPhysics(),
                  itemBuilder: (BuildContext context, int index) {
                    return _buildCard(
                      imageUrls[index],
                      descriptionList[index],
                      postModel.postFontType,
                      context,
                    );
                  },
                  separatorBuilder: (index, context) {
                    return const SizedBox(
                      width: 10.0,
                    );
                  }),
            )
          ),
        ],
      ),
    );
flutter flutter-animation
© www.soinside.com 2019 - 2024. All rights reserved.