// Copyright 2014 The Flutter Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. import 'package:flutter/material.dart'; /// Flutter code sample for [Carousel]. void main() => runApp(const CarouselExampleApp()); class CarouselExampleApp extends StatelessWidget { const CarouselExampleApp({super.key}); @override Widget build(BuildContext context) { return MaterialApp( debugShowCheckedModeBanner: false, home: Scaffold( appBar: AppBar( title: const Text('Carousel Sample'), ), body: const CarouselExample(), ), ); } } class CarouselExample extends StatefulWidget { const CarouselExample({super.key}); @override State createState() => _CarouselExampleState(); } class _CarouselExampleState extends State { @override Widget build(BuildContext context) { return Center( child: ConstrainedBox( constraints: const BoxConstraints(maxHeight: 200), child: CarouselView( itemExtent: 330, shrinkExtent: 200, children: List.generate(20, (int index) { return UncontainedLayoutCard(index: index, label: 'Item $index'); }), ), ), ); } } class UncontainedLayoutCard extends StatelessWidget { const UncontainedLayoutCard({ super.key, required this.index, required this.label, }); final int index; final String label; @override Widget build(BuildContext context) { return ColoredBox( color: Colors.primaries[index % Colors.primaries.length].withOpacity(0.5), child: Center( child: Text( label, style: const TextStyle(color: Colors.white, fontSize: 20), overflow: TextOverflow.clip, softWrap: false, ), ), ); } }