Fix currentIndex image slider

This commit is contained in:
Fransolet Thomas 2023-04-26 15:52:07 +02:00
parent c02b4b8a1e
commit 1f52eb3224

View File

@ -22,7 +22,7 @@ class SliderImagesWidget extends StatefulWidget {
class _SliderImagesWidget extends State<SliderImagesWidget> { class _SliderImagesWidget extends State<SliderImagesWidget> {
List<ResourceModel?> resourcesInWidget = []; List<ResourceModel?> resourcesInWidget = [];
late CarouselController? sliderController; late CarouselController? sliderController;
int currentIndex = 1; final ValueNotifier<int> currentIndex = ValueNotifier<int>(1);
@override @override
void initState() { void initState() {
@ -56,10 +56,10 @@ class _SliderImagesWidget extends State<SliderImagesWidget> {
carouselController: sliderController, carouselController: sliderController,
options: CarouselOptions( options: CarouselOptions(
onPageChanged: (int index, CarouselPageChangedReason reason) { onPageChanged: (int index, CarouselPageChangedReason reason) {
setState(() { //setState(() {
print("SET STATE"); //print("SET STATE");
currentIndex = index + 1; currentIndex.value = index + 1;
}); //});
}, },
height: widget.height * 0.86, height: widget.height * 0.86,
enlargeCenterPage: true, enlargeCenterPage: true,
@ -73,7 +73,7 @@ class _SliderImagesWidget extends State<SliderImagesWidget> {
padding: const EdgeInsets.only(top: 5.0), padding: const EdgeInsets.only(top: 5.0),
child: InkWell( child: InkWell(
onTap: () { onTap: () {
showImagePopup(widget.imagesDTO[currentIndex-1]!, i!, appContext, context, size); showImagePopup(widget.imagesDTO[currentIndex.value-1]!, i!, appContext, context, size);
}, },
child: ClipRRect( child: ClipRRect(
borderRadius: BorderRadius.circular(15.0), borderRadius: BorderRadius.circular(15.0),
@ -154,9 +154,14 @@ class _SliderImagesWidget extends State<SliderImagesWidget> {
if(resourcesInWidget.isNotEmpty) if(resourcesInWidget.isNotEmpty)
Align( Align(
alignment: Alignment.bottomCenter, alignment: Alignment.bottomCenter,
child: Text( child: ValueListenableBuilder<int>(
currentIndex.toString()+'/'+resourcesInWidget.length.toString(), valueListenable: currentIndex,
style: const TextStyle(fontSize: kArticleContentSize, fontWeight: FontWeight.w500, color: kBlue2), builder: (context, value, _) {
return Text(
currentIndex.value.toString()+'/'+resourcesInWidget.length.toString(),
style: const TextStyle(fontSize: kArticleContentSize, fontWeight: FontWeight.w500, color: kBlue2),
);
},
) )
), ),
], ],