Blame view

lib/home/widgets/home_tab_header_widget.dart 3.91 KB
95edef4f   liangchengyou   feat:更新适配代码
1
2
3
4
  import 'package:flutter/material.dart';
  import 'package:flutter_screenutil/flutter_screenutil.dart';
  import 'package:wow_english/common/extension/string_extension.dart';
  
60e47f7c   liangchengyou   feat:课程选择功能
5
6
7
8
9
10
11
12
13
  enum HeaderActionType {
    //视频跟读
    video,
    //阶段选择
    phase,
    //磨耳朵
    listen,
    //购买
    shop,
d35a4e87   liangchengyou   feat:磨耳朵功能UI
14
15
    //个人信息
    userinfo
60e47f7c   liangchengyou   feat:课程选择功能
16
17
  }
  
95edef4f   liangchengyou   feat:更新适配代码
18
  class HomeTabHeaderWidget extends StatelessWidget {
60e47f7c   liangchengyou   feat:课程选择功能
19
20
21
22
  
    const HomeTabHeaderWidget({super.key,  this.actionTap});
  
    final Function(HeaderActionType type)? actionTap;
95edef4f   liangchengyou   feat:更新适配代码
23
24
25
26
  
    @override
    Widget build(BuildContext context) {
      return Container(
7652f701   liangchengyou   feat:课程购买UI逻辑
27
        height: 45,
95edef4f   liangchengyou   feat:更新适配代码
28
29
30
31
32
        width: double.infinity,
        color: Colors.purple,
        padding: EdgeInsets.symmetric(horizontal: 9.5.w),
        child: Row(
          children: [
4bf67b91   liangchengyou   feat:设置密码
33
            ScreenUtil().bottomBarHeight.horizontalSpace,
d35a4e87   liangchengyou   feat:磨耳朵功能UI
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
            GestureDetector(
              onTap: () {
                if(actionTap != null) {
                  actionTap!(HeaderActionType.userinfo);
                }
              },
              child: Container(
                decoration: BoxDecoration(
                  border: Border.all(
                    width: 1.0,
                    color: const Color(0xFF140C10),
                  ),
                  borderRadius: BorderRadius.circular(21),
                ),
                child: const CircleAvatar(
                  radius: 21,
                  backgroundImage: NetworkImage(
                      'https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fsafe-img.xhscdn.com%2Fbw1%2Faa1c2213-820a-4223-8757-5f8cee318a28%3FimageView2%2F2%2Fw%2F1080%2Fformat%2Fjpg&refer=http%3A%2F%2Fsafe-img.xhscdn.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=auto?sec=1688713226&t=192b18a613683bcdc5bd76f65c9ff032'
                  ),
                ),
95edef4f   liangchengyou   feat:更新适配代码
54
55
              ),
            ),
d35a4e87   liangchengyou   feat:磨耳朵功能UI
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
            GestureDetector(
              onTap: () {
                if(actionTap != null) {
                  actionTap!(HeaderActionType.userinfo);
                }
              },
              child: Container(
                margin: const EdgeInsets.only(left: 7),
                padding: const EdgeInsets.all(4.0),
                decoration: BoxDecoration(
                  color: Colors.white,
                  borderRadius: BorderRadius.circular(2),
                  border: Border.all(
                      width: 1.0,
                      color: const Color(0xFF140C10),
                      style: BorderStyle.solid
                  ),
                ),
7652f701   liangchengyou   feat:课程购买UI逻辑
74
                child:  Text(
d35a4e87   liangchengyou   feat:磨耳朵功能UI
75
76
                  'franky',
                  style: TextStyle(
7652f701   liangchengyou   feat:课程购买UI逻辑
77
78
                      color: const Color(0xFF333333),
                      fontSize: 16.sp
d35a4e87   liangchengyou   feat:磨耳朵功能UI
79
80
81
                  ),
                ),
              ),
95edef4f   liangchengyou   feat:更新适配代码
82
83
84
85
86
87
88
89
90
91
92
93
94
            ),
            20.horizontalSpace,
            const Expanded(
                child:Text(
                    'learn wow!yellow',
                    textAlign:TextAlign.left,
                  style: TextStyle(
                    color: Colors.white,
                    fontSize: 30.0
                  ),
                )
            ),
            IconButton(
60e47f7c   liangchengyou   feat:课程选择功能
95
96
97
98
99
                onPressed: (){
                  if(actionTap != null) {
                    actionTap!(HeaderActionType.video);
                  }
                },
95edef4f   liangchengyou   feat:更新适配代码
100
101
102
                icon: Image.asset('video'.assetPng)
            ),
            IconButton(
60e47f7c   liangchengyou   feat:课程选择功能
103
104
105
106
107
                onPressed: (){
                  if(actionTap != null) {
                    actionTap!(HeaderActionType.phase);
                  }
                },
95edef4f   liangchengyou   feat:更新适配代码
108
109
110
                icon: Image.asset('home'.assetPng)
            ),
            IconButton(
60e47f7c   liangchengyou   feat:课程选择功能
111
112
113
114
115
                onPressed: (){
                  if(actionTap != null) {
                    actionTap!(HeaderActionType.listen);
                  }
                },
95edef4f   liangchengyou   feat:更新适配代码
116
117
118
                icon: Image.asset('listen'.assetPng)
            ),
            IconButton(
60e47f7c   liangchengyou   feat:课程选择功能
119
120
121
122
123
                onPressed: (){
                  if(actionTap != null) {
                    actionTap!(HeaderActionType.shop);
                  }
                },
95edef4f   liangchengyou   feat:更新适配代码
124
                icon: Image.asset('shop'.assetPng)
4bf67b91   liangchengyou   feat:设置密码
125
126
            ),
            ScreenUtil().bottomBarHeight.horizontalSpace,
95edef4f   liangchengyou   feat:更新适配代码
127
128
129
130
131
          ],
        ),
      );
    }
  }