我试图在带有气泡底栏的演示 flutter 应用程序中构建轮播滑块,但是在我的dart文件中,轮播滑块参数未定义。我是一个初学者,因此获取 Dart 代码有点困难,但是我正尽力而为,请寻求帮助。因此,我的代码如下所示:
//我的代码( Dart )
import 'package:carousel_slider/carousel_slider.dart';
import 'package:flutter/material.dart';
class Dashboard extends StatelessWidget {
@override
Widget build(BuildContext context) {
return ListView(
children: <Widget>[
SizedBox(height: 15.0),
CarouselSlider(
height: 180.0,
enlargeCenterPage: true,
autoPlay: true,
aspectRatio: 16 / 9,
autoPlayCurve: Curves.fastOutSlowIn,
enableInfiniteScroll: true,
autoPlayAnimationDuration: Duration(milliseconds: 800),
viewportFraction: 0.8,
items: [
Container(
margin: EdgeInsets.all(5.0),
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(10.0),
image: DecorationImage(
image: AssetImage('assets/netflix/dark1.jpg'),
fit: BoxFit.cover,
),
),
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
crossAxisAlignment: CrossAxisAlignment.center,
children: <Widget>[
Text(
'Usable Flower for Health',
style: TextStyle(
color: Colors.white,
fontWeight: FontWeight.bold,
fontSize: 18.0,
),
),
Padding(
padding: const EdgeInsets.all(15.0),
child: Text(
'Lorem Ipsum is simply dummy text use for printing and type script',
style: TextStyle(
color: Colors.white,
fontSize: 15.0,
),
textAlign: TextAlign.center,
),
),
],
),
),
Container(
margin: EdgeInsets.all(5.0),
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(10.0),
image: DecorationImage(
image: AssetImage('assets/netflix/dark2.jpg'),
fit: BoxFit.cover,
),
),
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
crossAxisAlignment: CrossAxisAlignment.center,
children: <Widget>[
Text(
'Usable Flower for Health',
style: TextStyle(
color: Colors.white,
fontWeight: FontWeight.bold,
fontSize: 18.0,
),
),
Padding(
padding: const EdgeInsets.all(15.0),
child: Text(
'Lorem Ipsum is simply dummy text use for printing and type script',
style: TextStyle(
color: Colors.white,
fontSize: 15.0,
),
textAlign: TextAlign.center,
),
),
],
),
),
Container(
margin: EdgeInsets.all(5.0),
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(10.0),
image: DecorationImage(
image: AssetImage('assets/netflix/dark3.jpg'),
fit: BoxFit.cover,
),
),
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
crossAxisAlignment: CrossAxisAlignment.center,
children: <Widget>[
Text(
'Usable Flower for Health',
style: TextStyle(
color: Colors.white,
fontWeight: FontWeight.bold,
fontSize: 18.0,
),
),
Padding(
padding: const EdgeInsets.all(15.0),
child: Text(
'Lorem Ipsum is simply dummy text use for printing and type script',
style: TextStyle(
color: Colors.white,
fontSize: 15.0,
),
textAlign: TextAlign.center,
),
),
],
),
),
],
),
],
);
}
}
//错误 :lib / dashboard.dart:12:11:错误:没有名为“height”的命名参数。
高度:180.0,
^^^^^^
/C:/src/flutter/.pub-cache/hosted/pub.dartlang.org/carousel_slider-2.2.1/lib/carousel_slider.dart:34:3:上下文:找到了该候选者,但参数不匹配。
CarouselSlider(
^^^^^^^^^^^^^^^
编译器消息:
lib / dashboard.dart:12:11:错误:没有名为“height”的命名参数。
高度:180.0,
^^^^^^
/C:/src/flutter/.pub-cache/hosted/pub.dartlang.org/carousel_slider-2.2.1/lib/carousel_slider.dart:34:3:上下文:找到了该候选者,但参数不匹配。
CarouselSlider(
^^^^^^^^^^^^^^^
目标kernel_snapshot失败:异常:创建快照时出错:null
构建失败。
失败:生成失败,发生异常。
脚本'C:\ src \ flutter \ packages \ flutter_tools \ gradle \ flutter.gradle'行:882
任务':app:compileFlutterBuildDebug'的执行失败。
使用--stacktrace选项运行以获取堆栈跟踪。使用--info或--debug选项运行以获取更多日志输出。与--scan一起运行以获取完整的见解。
最佳答案
似乎已经对该软件包进行了重大更改:现在,所有选项都通过CarouselOptions
指定,您将其作为options
参数传递。因此,这将是正确的方法:
CarouselSlider(
options: CarouselOptions(
height: 180.0,
enlargeCenterPage: true,
autoPlay: true,
aspectRatio: 16 / 9,
autoPlayCurve: Curves.fastOutSlowIn,
enableInfiniteScroll: true,
autoPlayAnimationDuration: Duration(milliseconds: 800),
viewportFraction: 0.8,),
// the rest of the CarouselSlider declaration
我还建议您使用VS Code或Android Studio及其各自的Flutter扩展进行开发。这将帮助您解决问题(例如必需的参数)。