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