为什么会包冲突啊?
来源: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();
012025-04-11
相似问题