import 'dart:math'; import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:flutter_easyloading/flutter_easyloading.dart'; import 'package:wow_english/common/widgets/we_app_bar.dart'; import 'package:wow_english/repeatafter/widgets/repeat_after_item.dart'; import 'bloc/repeat_after_bloc.dart'; class RepeatAfterPage extends StatelessWidget { const RepeatAfterPage({super.key}); @override Widget build(BuildContext context) { return BlocProvider( create: (context) => RepeatAfterBloc()..requestData(), child: _RepeatAfterPageView(), ); } } class _RepeatAfterPageView extends StatelessWidget { @override Widget build(BuildContext context) { return BlocListener( listener: (context, state) { if (state is RequestDataState) { EasyLoading.showToast('网络请求结束'); } }, child: _repeatAfterView(), ); } Widget _repeatAfterView() => BlocBuilder( builder: (context, state) { return Scaffold( appBar: const WEAppBar( titleText: '视频跟读', centerTitle: false, ), body: SafeArea( child: Container( alignment: Alignment.center, child: ListView.builder( itemCount: 10, scrollDirection: Axis.horizontal, itemBuilder: (BuildContext context,int index){ bool unLock = index%3==0; return RepeatAfterItem( unLock: unLock, tapEvent: () { }, starNumber: !unLock?0:Random().nextInt(5) ); }), ), ), ); }, ); }