Blame view

lib/pages/repeatafter/repeat_after_page.dart 1.89 KB
9d080046   liangchengyou   feat:视频跟读逻辑
1
2
3
4
  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';
6f617434   liangchengyou   feat:磨耳朵/视频跟读列表页接口调整
5
  import 'package:wow_english/models/follow_read_entity.dart';
4b358e22   liangchengyou   feat:调整文件结构
6
  import 'package:wow_english/pages/repeatafter/widgets/repeat_after_item.dart';
9d080046   liangchengyou   feat:视频跟读逻辑
7
8
9
10
11
12
13
14
15
  
  import 'bloc/repeat_after_bloc.dart';
  
  class RepeatAfterPage extends StatelessWidget {
    const RepeatAfterPage({super.key});
  
    @override
    Widget build(BuildContext context) {
      return BlocProvider(
842b7132   liangchengyou   feat:磨耳朵/练习页面调整
16
        create: (context) => RepeatAfterBloc()..add(RequestDataEvent()),
9d080046   liangchengyou   feat:视频跟读逻辑
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
        child: _RepeatAfterPageView(),
      );
    }
  }
  
  class _RepeatAfterPageView extends StatelessWidget {
    @override
    Widget build(BuildContext context) {
      return BlocListener<RepeatAfterBloc, RepeatAfterState>(
        listener: (context, state) {
          if (state is RequestDataState) {
            EasyLoading.showToast('网络请求结束');
          }
        },
        child: _repeatAfterView(),
      );
    }
  
    Widget _repeatAfterView() => BlocBuilder<RepeatAfterBloc, RepeatAfterState>(
      builder: (context, state) {
6f617434   liangchengyou   feat:磨耳朵/视频跟读列表页接口调整
37
        final bloc = BlocProvider.of<RepeatAfterBloc>(context);
9d080046   liangchengyou   feat:视频跟读逻辑
38
39
40
41
42
43
44
45
46
        return Scaffold(
          appBar: const WEAppBar(
            titleText: '视频跟读',
            centerTitle: false,
          ),
          body: SafeArea(
            child: Container(
              alignment: Alignment.center,
              child: ListView.builder(
6f617434   liangchengyou   feat:磨耳朵/视频跟读列表页接口调整
47
                  itemCount: bloc.listData.length,
9d080046   liangchengyou   feat:视频跟读逻辑
48
49
                  scrollDirection: Axis.horizontal,
                  itemBuilder: (BuildContext context,int index){
6f617434   liangchengyou   feat:磨耳朵/视频跟读列表页接口调整
50
                    FollowReadEntity? entity = bloc.listData[index];
9d080046   liangchengyou   feat:视频跟读逻辑
51
                    return RepeatAfterItem(
9d080046   liangchengyou   feat:视频跟读逻辑
52
53
54
                        tapEvent: () {
  
                        },
6f617434   liangchengyou   feat:磨耳朵/视频跟读列表页接口调整
55
                        entity: entity,
9d080046   liangchengyou   feat:视频跟读逻辑
56
57
58
59
60
61
62
63
                    );
                  }),
            ),
          ),
        );
      },
    );
  }