intyx_curved_carousel 1.0.0
intyx_curved_carousel: ^1.0.0 copied to clipboard
A Flutter widget for horizontal scrolling with a 3D curved carousel effect. Items scale and rotate based on scroll position for a perspective carousel.
intyx_curved_carousel #
A Flutter widget for horizontal scrolling with a 3D curved carousel effect. Items scale and rotate based on scroll position, creating a perspective carousel.

Features #
- 3D perspective: Items near the center are at rest; items toward the edges rotate and scale for a carousel feel.
- Configurable: Control item size, spacing, padding, and how many items are considered "in view" for centering.
- Optional ScrollController: Use your own
ScrollControlleror let the widget manage one.
Installation #
Add to your pubspec.yaml:
dependencies:
intyx_curved_carousel: ^1.0.0
Then run:
flutter pub get
Usage #
import 'package:intyx_curved_carousel/intyx_curved_carousel.dart';
CurvedHorizontalScroll(
itemCount: 10,
itemBuilder: (context, index) => Container(
decoration: BoxDecoration(
color: Colors.blue,
borderRadius: BorderRadius.circular(12),
),
child: Center(child: Text('Item $index')),
),
itemWidth: 120,
itemHeight: 180,
itemSpacing: 16,
viewportItemCount: 2, // optional; used for auto padding
padding: null, // optional; null = auto center
controller: null, // optional; your ScrollController
)
Parameters #
| Parameter | Type | Default | Description |
|---|---|---|---|
itemCount |
int |
required | Total number of items. |
itemBuilder |
Widget Function(BuildContext, int) |
required | Builds the widget for each index. |
itemWidth |
double |
required | Width of each item. |
itemHeight |
double |
required | Height of each item (and of the scroll view). |
itemSpacing |
double |
16.0 |
Horizontal space between items. |
padding |
EdgeInsets? |
null |
Padding around the list. If null, computed to center viewportItemCount items. |
viewportItemCount |
int |
2 |
Number of items considered visible for auto padding. |
controller |
ScrollController? |
null |
Optional scroll controller. |
Example #
See the example/ folder for a runnable app.
License #
BSD 3-Clause — see LICENSE file.