carousel_slider(颤振包)中的“ item:child”是什么意思?

时间:2020-06-21 19:26:03

标签: flutter dart carousel

在carousel_slider中,“ items”定义为“默认构造函数的轮播中显示的小部件”,而“ items”的类型为“ {List items}”。以下代码中的“ items:child”是什么意思?具体来说,它指的是哪个子小部件?

class CarouselDemo extends StatelessWidget {
  CarouselController buttonCarouselController = CarouselController();

 @override
  Widget build(BuildContext context) => Column(
    children: <Widget>[
      CarouselSlider(
        **items: child,**
        carouselController: buttonCarouselController,
        options: CarouselOptions(
          autoPlay: false,
          enlargeCenterPage: true,
          viewportFraction: 0.9,
          aspectRatio: 2.0,
          initialPage: 2,
        ),
      ),
      RaisedButton(
        onPressed: () => buttonCarouselController.nextPage(
            duration: Duration(milliseconds: 300), curve: Curves.linear),
        child: Text('→'),
      )
    ]
  );
}

2 个答案:

答案 0 :(得分:0)

它的工作方式类似于默认构造函数ListView(children: [widgets here])-

所以只需将小部件放在CarouselSlider(items: [ Text('foo'),Text('bar'),])

为您提供信息-CarouselSlider已将构造器builder()命名为按需构建小部件,类似于ListView.builder()

答案 1 :(得分:0)

我认为您可以忽略它(可能是拼写错误)并将其用作其他示例:

CarouselSlider(
  options: CarouselOptions(height: 400.0),
  items: [1,2,3,4,5].map((i) {
    return Builder(
      builder: (BuildContext context) {
        return Container(
          width: MediaQuery.of(context).size.width,
          margin: EdgeInsets.symmetric(horizontal: 5.0),
          decoration: BoxDecoration(
            color: Colors.amber
          ),
          child: Text('text $i', style: TextStyle(fontSize: 16.0),)
        );
      },
    );
  }).toList(),
)

这只是您要在转盘上显示的项目。

如文档(https://pub.dev/documentation/carousel_slider/latest/carousel_slider/CarouselSlider-class.html)所述:

项目→列表<小部件> 这些小部件将显示在默认构造函数的轮播中。

因此,您只需要提供Widget类型的列表,它就可以是任何东西:图像,容器,您可以为其命名。