Blame view

lib/pages/section/widgets/section_item.dart 2.97 KB
8988aa69   liangchengyou   feat:首页+课程列表数据获取
1
2
3
  import 'package:flutter/material.dart';
  import 'package:flutter_screenutil/flutter_screenutil.dart';
  import 'package:wow_english/common/extension/string_extension.dart';
6f617434   liangchengyou   feat:磨耳朵/视频跟读列表页接口调整
4
  import 'package:wow_english/common/widgets/ow_image_widget.dart';
68dd7ba8   liangchengyou   feat:首页主题颜色+已知问题修改
5
  
2187c85f   吴启风   feat:课程结构调整
6
7
  import '../../../models/course_section_entity.dart';
  import '../../../models/course_unit_entity.dart';
68dd7ba8   liangchengyou   feat:首页主题颜色+已知问题修改
8
  import '../courese_module_model.dart';
8988aa69   liangchengyou   feat:首页+课程列表数据获取
9
  
e620143b   吴启风   feat:单元&课程解锁状态蒙层ui
10
11
12
  ///环节item布局
  class SectionItem extends StatelessWidget {
    const SectionItem({super.key, this.lessons, this.courseModuleId});
8988aa69   liangchengyou   feat:首页+课程列表数据获取
13
  
e620143b   吴启风   feat:单元&课程解锁状态蒙层ui
14
    final String? courseModuleId;
2187c85f   吴启风   feat:课程结构调整
15
    final CourseSectionEntity? lessons;
8988aa69   liangchengyou   feat:首页+课程列表数据获取
16
17
18
  
    @override
    Widget build(BuildContext context) {
ad8454ca   liangchengyou   feat:调整模型
19
      return Padding(
1e7094e3   liangchengyou   feat:适配ipad
20
        padding: EdgeInsets.symmetric(horizontal: 12.w,vertical: 24.h),
e620143b   吴启风   feat:单元&课程解锁状态蒙层ui
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
        child: Stack(
          children: [
            _normalItem(),
            _lockWidget(),
          ],
        )
      );
    }
  
    Widget _normalItem() {
      return Container(
        width: 165.w,
        padding: EdgeInsets.symmetric(horizontal: 16.w,vertical: 24.h),
        decoration: BoxDecoration(
          image: DecorationImage(
              image: AssetImage('gendubeij'.assetPng),
              fit: BoxFit.fill
ad8454ca   liangchengyou   feat:调整模型
38
          ),
e620143b   吴启风   feat:单元&课程解锁状态蒙层ui
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
        ),
        child: Column(
          mainAxisAlignment: MainAxisAlignment.spaceBetween,
          children: [
            Expanded(
                child: Container(
                  decoration: BoxDecoration(
                      border: Border.all(
                        width: 2,
                        color: const Color(0xFF140C10),
                      ),
                      borderRadius: BorderRadius.circular(6)
                  ),
                  child: OwImageWidget(
                    name: lessons?.coverUrl??'',
                    fit: BoxFit.fitHeight,
                  ),
                )
            ),
            24.verticalSpace,
            Container(
              decoration: BoxDecoration(
                  border: Border.all(
                    width: 2,
                    color: const Color(0xFF140C10),
                  ),
                  color: CourseModuleModel(courseModuleId ?? 'Phase-1').color,
                  borderRadius: BorderRadius.circular(6)
68dd7ba8   liangchengyou   feat:首页主题颜色+已知问题修改
67
              ),
e620143b   吴启风   feat:单元&课程解锁状态蒙层ui
68
69
70
71
72
73
74
              padding: EdgeInsets.symmetric(horizontal: 10.w),
              child: Text(
                lessons?.name??'',
                maxLines: 1,
                style: TextStyle(
                    fontSize: 25.sp,
                    color: const Color(0xFF333333)
ad8454ca   liangchengyou   feat:调整模型
75
                ),
e620143b   吴启风   feat:单元&课程解锁状态蒙层ui
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
              ),
            )
          ],
        ),
      );
    }
  
    ///锁定状态下蒙层视图
    Widget _lockWidget() {
      return Visibility(
        visible: lessons?.lock ?? false,
        child: Container(
          width: 165.w,
          decoration: BoxDecoration(
              image: DecorationImage(
                  image: AssetImage(
                      'gendubeij_mengban'.assetPng
8988aa69   liangchengyou   feat:首页+课程列表数据获取
93
                  ),
e620143b   吴启风   feat:单元&课程解锁状态蒙层ui
94
                  fit: BoxFit.fill
ad8454ca   liangchengyou   feat:调整模型
95
              )
ad8454ca   liangchengyou   feat:调整模型
96
          ),
e620143b   吴启风   feat:单元&课程解锁状态蒙层ui
97
98
99
100
101
102
          alignment: Alignment.center,
          // child: Image.asset(
          //   'iv_lock'.assetPng,
          //   height: 36.h,
          //   width: 41.w,
          // ),
8988aa69   liangchengyou   feat:首页+课程列表数据获取
103
104
105
106
        ),
      );
    }
  }