Как остановить петлю в свайпере флаттер-карты?
- Я сделал приложение для изучения слайдов, но слайд постоянно зацикливался
- Мне нужно остановить автоматическое воспроизведение, оно подошло к концу.
- я использую
card_swiper: ^1.0.2
- Я обновляю свой полный код здесь - я также использую аудиоплеер Assets
- Я пробую цикл: ложь, это не сработает
- заранее спасибо
Я не знаю как это использовать
import 'package:assets_audio_player/assets_audio_player.dart';
import 'package:card_swiper/card_swiper.dart';
import 'package:flutter/material.dart';
class Chemistry extends StatefulWidget {
@override
_ChemistryState createState() => _ChemistryState();
}
class _ChemistryState extends State<Chemistry> {
List images = [
'assets/images/che/s.jpg',
'assets/images/che/t.jpg',
'assets/images/che/u.jpg',
'assets/images/che/v.jpg',
'assets/images/che/w.jpg',
'assets/images/che/x.jpg',
'assets/images/che/y.jpg',
'assets/images/che/z.jpg',
];
@override
Widget build(BuildContext context) {
return Scaffold(
body:Swiper(
itemCount: images.length,
loop: false,
itemBuilder: (BuildContext context, int index) {
return Padding(
padding: const EdgeInsets.all(27.0),
child: Image.asset(
images[index],
),
);
},
indicatorLayout: PageIndicatorLayout.COLOR,
onIndexChanged: (index) {
playaudio(index);
},
autoplayDelay: 4000,
autoplay: true,
pagination: FractionPaginationBuilder(
color: Colors.red, activeColor: Colors.green, fontSize: 10),
// control: SwiperControl(),
),
),
);
}
}
void playaudio(index) async {
AssetsAudioPlayer.newPlayer().open(
Audio('assets/audio/Chemistry/a$index.mp3'),
);
}
2 ответа
Согласно документации https://pub.dev/packages/card_swiper вы можете установить для атрибута loop значение false
Swiper(
itemBuilder: (BuildContext context,int index){
return Image.network("https://via.placeholder.com/350x150",fit: BoxFit.fill,);
},
itemCount: 3,
loop:false,
pagination: SwiperPagination(),
),
Вы можете установить loop: false - чтобы отключить режим непрерывного цикла. Если вы хотите автовоспроизведение, установите автовоспроизведение: true