为什么会包冲突啊?

来源:7-3 封装的艺术之轮播图组件的实现

疯狂原始人

2025-04-10

Xcode build done. 12.4s
Failed to build iOS app
Error (Xcode): lib/widget/banner_widget.dart:2:1: Error: ‘CarouselController’ is imported from both ‘package:carousel_slider/carousel_controller.dart’ and ‘package:flutter/src/material/carousel.dart’.

Could not build the application for the simulator.
Error launching application on iPhone 13 Pro Max.
为什么会包冲突啊?
代码lib/widget/banner_widget.dart

import 'package:carousel_slider/carousel_slider.dart';
import 'package:flutter/material.dart';
import 'package:trip_flutter/util/screen_adapter_helper.dart';

///封装的艺术之轮播图组件的实现
class BannerWidget extends StatefulWidget {
  final List<String> bannerList;

  const BannerWidget({Key? key, required this.bannerList}) : super(key: key);

  @override
  State<BannerWidget> createState() => _BannerWidgetState();
}

class _BannerWidgetState extends State<BannerWidget> {
  int _current = 0;
  final CarouselController _controller = CarouselController();

  @override
  Widget build(BuildContext context) {
    final double width = MediaQuery.of(context).size.width;
    return Stack(
      children: [
        CarouselSlider(
          items:
              widget.bannerList.map((item) => _tabImage(item, width)).toList(),
          carouselController: _controller,
          options: CarouselOptions(
            height: 160.px,
            autoPlay: true,
            viewportFraction: 1.0,
            onPageChanged: (index, reason) {
              setState(() {
                _current = index;
              });
            },
          ),
        ),
      ],
    );
  }

  Widget _tabImage(String imageUrl, double width) {
    return GestureDetector(
      onTap: () {},
      child: Image.network(imageUrl, width: width, fit: BoxFit.cover),
    );
  }
}

写回答

1回答

疯狂原始人

提问者

2025-04-10

新版 https://pub.dev/packages/carousel_slider/example

Controller引用变了为final CarouselSliderController _controller = CarouselSliderController();


0
1
CrazyCodeBoy
可以参考下课程源码的这次提交 https://git.imooc.com/coding-741/trip_flutter/commit/dfc3d7f7e994102408f1477a331e160ea1062892
2025-04-11
共1条回复

慕课甄选-Flutter零基础极速入门到进阶实战

全新Flutter从入门到进阶,实战仿携程网App

755 学习 · 347 问题

查看课程