- Null safety improvements
- Page controller is now disposed when the widget is disposed
- Return empty widget when no items or itemBuilder is provided
- Fixed a bug introduced in 7.0.1, where the slider could not be operated with a mouse
- spacing issue fixed when revered is true (#7).
- Some code cleanup in carousel_slider_plus.dart
- Migrating guide updated in README.md
- slider now can be operated with stylus (#3).
- Example project updated
CarouselControllerPlus
renamed toCarouselSliderController
This change was made due to many developers had find this naming convention better over the last one and there were only few developers who have adapted to this package from original carousel_slider package at the time of this change. Due to release of 3.24 of flutter many more developers are willing to migrate to this package so it is best time to fix the naming convention before it is used widely.
- Docs updated
- Example app code updated to reflect latest changes
CarouselController
renamed toCarouselControllerPlus
This change was necessary as flutter now has it's own
CarouselController
class as part of their material library
carouselController
named property ofCarouselSlider
renamed tocontroller
- Docs updated
- Example app code updated to reflect latest changes
- Live web preview added via gh-pages
options
inCarouselSlider
in no longer required- macOS image not loading in release build issue fixed
- Code formatting
- Example project updated
- Dependencies updated
- Temporary remove
PointerDeviceKind.trackpad
- Fix
'double?'
type
enlargeFactor
optionCenterPageEnlargeStrategy.zoom
optionanimateToClosest
option
- Clear timer if widget was unmounted
- Scroll carousel using touchpad
- Code formatting
- Exposed
clipBehavior
inCarouselOptions
- Exposed
padEnds
inCarouselOptions
- Add
copyWith
method toCarouselOptions
- Can't swipe on web with Flutter 2.5
- Support null safety (Null safety isn't a breaking change and is Backward compatible meaning you can use it with non-null safe code too)
- Update example code to null safety and add Dark theme support and controller support to indicators in on of the examples and also fix overflow errors.
itemBuilder
needs to accept three arguments, instead of two.
- Add third argument in
itemBuilder
, allow Hero and infinite scroll to coexist
- Rollback PR #222, due to it will break the existing project.
- Code formatting
- Allow Hero and infinite scroll to coexist
- Double pointer down and up will cause a exception
- Fixed
CarouselPageChangedReason
- Code formatting
- Added start/stop autoplay functionality
- Pause auto play if not current route
- Add
pageSnapping
option for disable page snapping for the carousel
- Fixed unresponsiveness to state changes
- Fixed
carousel_options.dart
andcarousel_controller
not being exported by default.
disableCenter
option
This option controls whether the carousel slider item should be wrapped in a
Center
widget or not.
enlargeStrategy
option
This option allow user to set which enlarge strategy to enlarge the center slide. Use
CenterPageEnlargeStrategy.height
if you want to improve the performance.
- Fixed
CarousePageChangedReason.manual
never being emitted
pauseAutoPlayOnTouch
option
This option controls whether the carousel slider should pause the auto play function when user is touching the slider
pauseAutoPlayOnManualNavigate
option
This option controls whether the carousel slider should pause the auto play function when user is calling controller's method.
pauseAutoPlayInFiniteScroll
option
This option decide the carousel should go to the first item when it reach the last item or not.
pageViewKey
option
This option is useful when you want to keep the pageview's position when it was recreated.
- Fix
CarouselPageChangedReason
bug
- Use
Transform.scale
instead ofSizedBox
to wrap the slider item
Instead of passing all the options to the CarouselSlider
, now you'll need to pass these option to CarouselOptions
:
CarouselSlider(
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(),
)
CarouselController
Since
v2.0.0
,carousel_slider_plus
plugin provides a way to pass your ownCaourselController
, and you can useCaouselController
instance to manually control the carousel's position. For a more detailed example please refer to example project.
CarouselPageChangedReason
Now you can receive a
CarouselPageChangedReason
inonPageChanged
callback.
pauseAutoPlayOnTouch
pauseAutoPlayOnTouch
option is removed, because it doesn't fix the problem we have. Currently, when we enable the autoPlay feature, we can not stop sliding when the user interact with the carousel. This is a flutter's issue.
- Fixed
animateTo()/jumpTo()
with non-zero initialPage
- Add on-demand item feature
- Fixed
setState() called after dispose()
bug
- Scroll physics option
- onPage indexing bug
- Remove the deprecated param:
interval
,autoPlayDuration
,distortion
,updateCallback
. Please use the new param.
- Fix
enlargeCenterPage
option is not working invertical
carousel slider.
- Vertical scroll support
- Enable/disable infinite scroll
- Added
pauseAutoPlayOnTouch
option - Add documentation
- Update doc
- Added
distortion
option
- Fix hard coded number
- Fix
initialPage
bug, fix crash when widget is disposed.
- CHANGELOG
- Remove useless dependencies
- Initial version.