carousel_nerdzlab 1.0.1 copy "carousel_nerdzlab: ^1.0.1" to clipboard
carousel_nerdzlab: ^1.0.1 copied to clipboard

Custom PageView with edge-to-edge elements and centered alignment

Carousel #

This package provides a custom implementation of the CenteredPageView widget that behaves like the default PageView, but with padEnds: false while centered elements, and an optional dot indicator.

Difference #

Package CenteredPageView. Items snap to a centered position. Centered PageView

Default PageView. Elements align based on scroll position but are not centered. Default PageView

Features #

  • A CenteredPageView widget that centers items while retaining the default properties of the PageView.
  • Customizable optional dot indicator below the CenteredPageView.

Usage #

Here's how to implement CenteredPageView in your Flutter app:

CenteredPageView.builder(
  itemCount: 9,
  controller: PageController(viewportFraction: 0.8),
  showIndicator: true, // Set to 'false' if you do not want to display the dot indicator
  indicatorStyle: const IndicatorStyle(
      indicatorWidth: 100, unselectedSize: Size(8, 8)),
  itemBuilder: (context, index) => Container(
      width: MediaQuery.of(context).size.width,
      margin: const EdgeInsets.symmetric(horizontal: 5.0),
      padding: const EdgeInsets.symmetric(horizontal: 16),
      decoration: const BoxDecoration(color: Colors.amber),
      child: Align(
        child: Text(
          'Page $index',
          style: const TextStyle(fontSize: 16.0),
        ),
      )),
),

Customizing the Dot Indicator

  • The showIndicator property is a boolean that controls the visibility of the dot indicator.
  • The indicatorStyle property allows you to customize the appearance of the dot indicator.
0
likes
160
points
61
downloads

Publisher

unverified uploader

Weekly Downloads

Custom PageView with edge-to-edge elements and centered alignment

Repository (GitHub)
View/report issues

Documentation

API reference

License

MIT (license)

Dependencies

flutter

More

Packages that depend on carousel_nerdzlab