Commit f0d56772b1dada8b204a69f26763c6ccb1102b11
1 parent
d35a4e87
feat:更新尺寸适配
Showing
11 changed files
with
102 additions
and
68 deletions
lib/app/app.dart
@@ -2,6 +2,8 @@ import 'package:flutter/material.dart'; | @@ -2,6 +2,8 @@ import 'package:flutter/material.dart'; | ||
2 | import 'package:flutter_bloc/flutter_bloc.dart'; | 2 | import 'package:flutter_bloc/flutter_bloc.dart'; |
3 | import 'package:flutter_easyloading/flutter_easyloading.dart'; | 3 | import 'package:flutter_easyloading/flutter_easyloading.dart'; |
4 | import 'package:flutter_screenutil/flutter_screenutil.dart'; | 4 | import 'package:flutter_screenutil/flutter_screenutil.dart'; |
5 | +import 'package:responsive_framework/breakpoint.dart'; | ||
6 | +import 'package:responsive_framework/responsive_breakpoints.dart'; | ||
5 | import 'package:wow_english/common/widgets/hide_keyboard_widget.dart'; | 7 | import 'package:wow_english/common/widgets/hide_keyboard_widget.dart'; |
6 | import 'package:wow_english/route/route.dart'; | 8 | import 'package:wow_english/route/route.dart'; |
7 | import 'package:wow_english/tab/blocs/tab_bloc.dart'; | 9 | import 'package:wow_english/tab/blocs/tab_bloc.dart'; |
@@ -25,7 +27,16 @@ class App extends StatelessWidget { | @@ -25,7 +27,16 @@ class App extends StatelessWidget { | ||
25 | colorScheme: ColorScheme.fromSeed(seedColor: Colors.deepPurple), | 27 | colorScheme: ColorScheme.fromSeed(seedColor: Colors.deepPurple), |
26 | useMaterial3: true, | 28 | useMaterial3: true, |
27 | ), | 29 | ), |
28 | - builder: EasyLoading.init(), | 30 | + builder: EasyLoading.init( |
31 | + builder: (context,child) => ResponsiveBreakpoints( | ||
32 | + breakpoints: const [ | ||
33 | + Breakpoint(start: 0, end: 450, name: MOBILE), | ||
34 | + Breakpoint(start: 451, end: 800, name: TABLET), | ||
35 | + Breakpoint(start: 801, end: 1920, name: DESKTOP), | ||
36 | + Breakpoint(start: 1921, end: double.infinity, name: '4K'), | ||
37 | + ], | ||
38 | + child: child!) | ||
39 | + ), | ||
29 | initialRoute: AppRouteName.splash, | 40 | initialRoute: AppRouteName.splash, |
30 | navigatorKey: AppRouter.navigatorKey, | 41 | navigatorKey: AppRouter.navigatorKey, |
31 | onGenerateRoute: AppRouter.generateRoute, | 42 | onGenerateRoute: AppRouter.generateRoute, |
lib/common/widgets/textfield_customer_widget.dart
@@ -59,14 +59,14 @@ class _TextFieldCustomerWidgetState extends State<TextFieldCustomerWidget> { | @@ -59,14 +59,14 @@ class _TextFieldCustomerWidgetState extends State<TextFieldCustomerWidget> { | ||
59 | decoration: InputDecoration( | 59 | decoration: InputDecoration( |
60 | hintText: widget.hitText??'', | 60 | hintText: widget.hitText??'', |
61 | border: InputBorder.none, | 61 | border: InputBorder.none, |
62 | - hintStyle: widget.hitStyle?? const TextStyle( | ||
63 | - fontSize: 16, | ||
64 | - color:Color(0xFF999999) | 62 | + hintStyle: widget.hitStyle?? TextStyle( |
63 | + fontSize: 16.sp, | ||
64 | + color:const Color(0xFF999999) | ||
65 | ) | 65 | ) |
66 | ), | 66 | ), |
67 | - style: widget.textStyle?? const TextStyle( | ||
68 | - color: Color(0xFF333333), | ||
69 | - fontSize: 16, | 67 | + style: widget.textStyle?? TextStyle( |
68 | + color: const Color(0xFF333333), | ||
69 | + fontSize: 16.sp, | ||
70 | ), | 70 | ), |
71 | onChanged: widget.onChangeValue, | 71 | onChanged: widget.onChangeValue, |
72 | ), | 72 | ), |
lib/common/widgets/we_app_bar.dart
1 | import 'package:flutter/material.dart'; | 1 | import 'package:flutter/material.dart'; |
2 | +import 'package:flutter_screenutil/flutter_screenutil.dart'; | ||
2 | import 'package:wow_english/common/extension/string_extension.dart'; | 3 | import 'package:wow_english/common/extension/string_extension.dart'; |
3 | 4 | ||
4 | class WEAppBar extends StatelessWidget implements PreferredSizeWidget { | 5 | class WEAppBar extends StatelessWidget implements PreferredSizeWidget { |
lib/home/home_page.dart
@@ -31,7 +31,7 @@ class _HomePageView extends StatelessWidget { | @@ -31,7 +31,7 @@ class _HomePageView extends StatelessWidget { | ||
31 | } else if (type == HeaderActionType.listen) { | 31 | } else if (type == HeaderActionType.listen) { |
32 | Navigator.of(AppRouter.context).pushNamed(AppRouteName.listen); | 32 | Navigator.of(AppRouter.context).pushNamed(AppRouteName.listen); |
33 | } else if (type == HeaderActionType.shop) { | 33 | } else if (type == HeaderActionType.shop) { |
34 | - | 34 | + |
35 | } else { | 35 | } else { |
36 | 36 | ||
37 | } | 37 | } |
lib/lessons/lesson_page.dart
@@ -29,7 +29,7 @@ class LessonPage extends StatelessWidget { | @@ -29,7 +29,7 @@ class LessonPage extends StatelessWidget { | ||
29 | 29 | ||
30 | class _LessonPageView extends StatelessWidget { | 30 | class _LessonPageView extends StatelessWidget { |
31 | 31 | ||
32 | - final double _cardHeight = 240.0; | 32 | + final double _cardHeight = 240.h; |
33 | 33 | ||
34 | final double _numItemHeight = 32.0; | 34 | final double _numItemHeight = 32.0; |
35 | 35 | ||
@@ -86,15 +86,15 @@ class _LessonPageView extends StatelessWidget { | @@ -86,15 +86,15 @@ class _LessonPageView extends StatelessWidget { | ||
86 | ), | 86 | ), |
87 | 32.verticalSpace, | 87 | 32.verticalSpace, |
88 | SizedBox( | 88 | SizedBox( |
89 | - height: 32, | ||
90 | - width: 660, | 89 | + height: 32.h, |
90 | + width: 660.w, | ||
91 | child: ListView.builder( | 91 | child: ListView.builder( |
92 | itemCount: 10, | 92 | itemCount: 10, |
93 | scrollDirection: Axis.horizontal, | 93 | scrollDirection: Axis.horizontal, |
94 | itemBuilder: (BuildContext context,int index){ | 94 | itemBuilder: (BuildContext context,int index){ |
95 | return Container( | 95 | return Container( |
96 | - height: 32, | ||
97 | - width: 66, | 96 | + height: 32.h, |
97 | + width: 66.w, | ||
98 | padding: const EdgeInsets.symmetric(horizontal: 5), | 98 | padding: const EdgeInsets.symmetric(horizontal: 5), |
99 | child: GestureDetector( | 99 | child: GestureDetector( |
100 | onTap: () { | 100 | onTap: () { |
lib/listen/widgets/listen_item_widget.dart
@@ -22,21 +22,21 @@ class ListenItemWidget extends StatelessWidget { | @@ -22,21 +22,21 @@ class ListenItemWidget extends StatelessWidget { | ||
22 | } | 22 | } |
23 | }, | 23 | }, |
24 | child: ClipRRect( | 24 | child: ClipRRect( |
25 | - borderRadius:BorderRadius.circular(90), | 25 | + borderRadius:BorderRadius.circular(90.r), |
26 | child: Stack( | 26 | child: Stack( |
27 | alignment:Alignment.center, | 27 | alignment:Alignment.center, |
28 | children: [ | 28 | children: [ |
29 | Image.network( | 29 | Image.network( |
30 | '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', | 30 | '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', |
31 | - height: 180, | ||
32 | - width: 180, | 31 | + height: 180.w, |
32 | + width: 180.w, | ||
33 | fit: BoxFit.fill, | 33 | fit: BoxFit.fill, |
34 | ), | 34 | ), |
35 | Offstage( | 35 | Offstage( |
36 | offstage: isLock??false, | 36 | offstage: isLock??false, |
37 | child: Container( | 37 | child: Container( |
38 | - height: 180, | ||
39 | - width: 180, | 38 | + height: 180.w, |
39 | + width: 180.w, | ||
40 | color: const Color.fromRGBO(1, 1, 0, 0.5), | 40 | color: const Color.fromRGBO(1, 1, 0, 0.5), |
41 | ), | 41 | ), |
42 | ), | 42 | ), |
@@ -44,8 +44,8 @@ class ListenItemWidget extends StatelessWidget { | @@ -44,8 +44,8 @@ class ListenItemWidget extends StatelessWidget { | ||
44 | offstage: isLock, | 44 | offstage: isLock, |
45 | child: Image.asset( | 45 | child: Image.asset( |
46 | 'listen_lock'.assetPng, | 46 | 'listen_lock'.assetPng, |
47 | - height: 36, | ||
48 | - width: 41, | 47 | + height: 36.h, |
48 | + width: 41.w, | ||
49 | ), | 49 | ), |
50 | ) | 50 | ) |
51 | ], | 51 | ], |
@@ -55,7 +55,7 @@ class ListenItemWidget extends StatelessWidget { | @@ -55,7 +55,7 @@ class ListenItemWidget extends StatelessWidget { | ||
55 | 23.verticalSpace, | 55 | 23.verticalSpace, |
56 | Container( | 56 | Container( |
57 | height: 40.h, | 57 | height: 40.h, |
58 | - padding: const EdgeInsets.symmetric(horizontal: 22), | 58 | + padding: EdgeInsets.symmetric(horizontal: 22.w), |
59 | decoration: BoxDecoration( | 59 | decoration: BoxDecoration( |
60 | color: const Color(0xFFFFCC00), | 60 | color: const Color(0xFFFFCC00), |
61 | borderRadius: BorderRadius.circular(20.r), | 61 | borderRadius: BorderRadius.circular(20.r), |
@@ -68,7 +68,8 @@ class ListenItemWidget extends StatelessWidget { | @@ -68,7 +68,8 @@ class ListenItemWidget extends StatelessWidget { | ||
68 | child: Text( | 68 | child: Text( |
69 | 'listen title', | 69 | 'listen title', |
70 | style: TextStyle( | 70 | style: TextStyle( |
71 | - fontSize: 15.sp | 71 | + fontSize: 20.sp, |
72 | + color: const Color(0xFF333333) | ||
72 | ), | 73 | ), |
73 | ), | 74 | ), |
74 | ) | 75 | ) |
lib/login/forgetpwd/forget_password_home_page.dart
@@ -54,11 +54,11 @@ class _ForgetPasswordHomePageView extends StatelessWidget { | @@ -54,11 +54,11 @@ class _ForgetPasswordHomePageView extends StatelessWidget { | ||
54 | width: 83.5.h, | 54 | width: 83.5.h, |
55 | ), | 55 | ), |
56 | 12.5.horizontalSpace, | 56 | 12.5.horizontalSpace, |
57 | - const Text( | 57 | + Text( |
58 | '修改密码\n请输入您的手机号和验证码吧', | 58 | '修改密码\n请输入您的手机号和验证码吧', |
59 | style: TextStyle( | 59 | style: TextStyle( |
60 | - fontSize: 16.5, | ||
61 | - color: Color(0xFF666666) | 60 | + fontSize: 16.sp, |
61 | + color: const Color(0xFF666666) | ||
62 | ), | 62 | ), |
63 | ) | 63 | ) |
64 | ], | 64 | ], |
@@ -143,14 +143,15 @@ class _ForgetPasswordHomePageView extends StatelessWidget { | @@ -143,14 +143,15 @@ class _ForgetPasswordHomePageView extends StatelessWidget { | ||
143 | fit: BoxFit.fill | 143 | fit: BoxFit.fill |
144 | ), | 144 | ), |
145 | ), | 145 | ), |
146 | - padding: const EdgeInsets.symmetric( | ||
147 | - horizontal: 28.0, | ||
148 | - vertical: 14.0 | 146 | + padding: EdgeInsets.symmetric( |
147 | + horizontal: 28.w, | ||
148 | + vertical: 14.h | ||
149 | ), | 149 | ), |
150 | - child:const Text( | 150 | + child: Text( |
151 | '确定', | 151 | '确定', |
152 | style: TextStyle( | 152 | style: TextStyle( |
153 | - fontSize: 16 | 153 | + fontSize: 16.sp, |
154 | + color: Colors.white | ||
154 | ), | 155 | ), |
155 | ), | 156 | ), |
156 | ), | 157 | ), |
lib/login/loginpage/login_page.dart
@@ -59,9 +59,12 @@ class _LoginPageView extends StatelessWidget { | @@ -59,9 +59,12 @@ class _LoginPageView extends StatelessWidget { | ||
59 | fit: BoxFit.fill | 59 | fit: BoxFit.fill |
60 | ), | 60 | ), |
61 | ), | 61 | ), |
62 | - padding: const EdgeInsets.symmetric(horizontal: 18.0), | 62 | + padding: EdgeInsets.symmetric(horizontal: 18.w,vertical: 5.h), |
63 | child: Text( | 63 | child: Text( |
64 | - bloc.loginType == LoginType.sms?'密码登陆':'验证码密码' | 64 | + bloc.loginType == LoginType.sms?'密码登陆':'验证码密码', |
65 | + style: TextStyle( | ||
66 | + fontSize: 16.sp | ||
67 | + ), | ||
65 | ), | 68 | ), |
66 | ), | 69 | ), |
67 | ) | 70 | ) |
@@ -95,18 +98,18 @@ class _LoginPageView extends StatelessWidget { | @@ -95,18 +98,18 @@ class _LoginPageView extends StatelessWidget { | ||
95 | RichText( | 98 | RichText( |
96 | text: TextSpan( | 99 | text: TextSpan( |
97 | children:[ | 100 | children:[ |
98 | - const TextSpan( | 101 | + TextSpan( |
99 | text: '我已阅读并同意', | 102 | text: '我已阅读并同意', |
100 | style: TextStyle( | 103 | style: TextStyle( |
101 | - fontSize: 12, | ||
102 | - color: Color(0xFF333333), | 104 | + fontSize: 12.sp, |
105 | + color: const Color(0xFF333333), | ||
103 | ) | 106 | ) |
104 | ), | 107 | ), |
105 | TextSpan( | 108 | TextSpan( |
106 | text: '《用户隐私协议》', | 109 | text: '《用户隐私协议》', |
107 | - style: const TextStyle( | ||
108 | - fontSize: 12, | ||
109 | - color: Color(0xFF333333), | 110 | + style: TextStyle( |
111 | + fontSize: 12.sp, | ||
112 | + color: const Color(0xFF333333), | ||
110 | ), | 113 | ), |
111 | recognizer: TapGestureRecognizer()..onTap = (){ | 114 | recognizer: TapGestureRecognizer()..onTap = (){ |
112 | Navigator.of(context).pushNamed( | 115 | Navigator.of(context).pushNamed( |
@@ -116,18 +119,18 @@ class _LoginPageView extends StatelessWidget { | @@ -116,18 +119,18 @@ class _LoginPageView extends StatelessWidget { | ||
116 | 'webViewTitle':'用户隐私协议' | 119 | 'webViewTitle':'用户隐私协议' |
117 | }); | 120 | }); |
118 | }), | 121 | }), |
119 | - const TextSpan( | 122 | + TextSpan( |
120 | text: ',', | 123 | text: ',', |
121 | style: TextStyle( | 124 | style: TextStyle( |
122 | - fontSize: 12, | ||
123 | - color: Color(0xFF333333) | 125 | + fontSize: 12.sp, |
126 | + color: const Color(0xFF333333) | ||
124 | ) | 127 | ) |
125 | ), | 128 | ), |
126 | TextSpan( | 129 | TextSpan( |
127 | text: '《儿童隐私政策》', | 130 | text: '《儿童隐私政策》', |
128 | - style: const TextStyle( | ||
129 | - fontSize: 12, | ||
130 | - color: Color(0xFF333333) | 131 | + style: TextStyle( |
132 | + fontSize: 12.sp, | ||
133 | + color: const Color(0xFF333333) | ||
131 | ), | 134 | ), |
132 | recognizer: TapGestureRecognizer()..onTap = (){ | 135 | recognizer: TapGestureRecognizer()..onTap = (){ |
133 | Navigator.of(context).pushNamed( | 136 | Navigator.of(context).pushNamed( |
@@ -157,12 +160,15 @@ class _LoginPageView extends StatelessWidget { | @@ -157,12 +160,15 @@ class _LoginPageView extends StatelessWidget { | ||
157 | fit: BoxFit.fill | 160 | fit: BoxFit.fill |
158 | ), | 161 | ), |
159 | ), | 162 | ), |
160 | - padding: const EdgeInsets.symmetric( | ||
161 | - horizontal: 28.0, | ||
162 | - vertical: 14.0 | 163 | + padding: EdgeInsets.symmetric( |
164 | + horizontal: 28.w, | ||
165 | + vertical: 14.h | ||
163 | ), | 166 | ), |
164 | - child: const Text( | ||
165 | - '登录' | 167 | + child: Text( |
168 | + '登录', | ||
169 | + style: TextStyle( | ||
170 | + fontSize: 16.sp | ||
171 | + ), | ||
166 | ), | 172 | ), |
167 | ), | 173 | ), |
168 | ) | 174 | ) |
@@ -198,7 +204,11 @@ class _LoginPageView extends StatelessWidget { | @@ -198,7 +204,11 @@ class _LoginPageView extends StatelessWidget { | ||
198 | controller: bloc.phoneNumController, | 204 | controller: bloc.phoneNumController, |
199 | ), | 205 | ), |
200 | 6.5.verticalSpace, | 206 | 6.5.verticalSpace, |
201 | - const Text('未注册用户登录默认注册'), | 207 | + Text('未注册用户登录默认注册', |
208 | + style: TextStyle( | ||
209 | + fontSize: 12.sp, | ||
210 | + color: const Color(0xFF999999) | ||
211 | + ),), | ||
202 | 4.5.verticalSpace, | 212 | 4.5.verticalSpace, |
203 | Row( | 213 | Row( |
204 | mainAxisAlignment: MainAxisAlignment.spaceBetween, | 214 | mainAxisAlignment: MainAxisAlignment.spaceBetween, |
@@ -215,8 +225,7 @@ class _LoginPageView extends StatelessWidget { | @@ -215,8 +225,7 @@ class _LoginPageView extends StatelessWidget { | ||
215 | controller: bloc.checkNumController, | 225 | controller: bloc.checkNumController, |
216 | ) | 226 | ) |
217 | ), | 227 | ), |
218 | - TimerWidget( | ||
219 | - canSendSms: bloc.canSendSms) | 228 | + TimerWidget(canSendSms: bloc.canSendSms) |
220 | ], | 229 | ], |
221 | ) | 230 | ) |
222 | ], | 231 | ], |
@@ -289,8 +298,11 @@ class _LoginPageView extends StatelessWidget { | @@ -289,8 +298,11 @@ class _LoginPageView extends StatelessWidget { | ||
289 | width: 100.w, | 298 | width: 100.w, |
290 | height: 55.h, | 299 | height: 55.h, |
291 | alignment: Alignment.centerLeft, | 300 | alignment: Alignment.centerLeft, |
292 | - child: const Text( | ||
293 | - '忘记密码 ?' | 301 | + child: Text( |
302 | + '忘记密码 ?', | ||
303 | + style: TextStyle( | ||
304 | + fontSize: 12.sp | ||
305 | + ), | ||
294 | ), | 306 | ), |
295 | ), | 307 | ), |
296 | ) | 308 | ) |
lib/login/loginpage/time_widget.dart
1 | import 'package:flutter/cupertino.dart'; | 1 | import 'package:flutter/cupertino.dart'; |
2 | import 'package:flutter/material.dart'; | 2 | import 'package:flutter/material.dart'; |
3 | import 'package:flutter_bloc/flutter_bloc.dart'; | 3 | import 'package:flutter_bloc/flutter_bloc.dart'; |
4 | +import 'package:flutter_screenutil/flutter_screenutil.dart'; | ||
4 | import 'package:wow_english/common/blocs/timerbloc/timer_bloc.dart'; | 5 | import 'package:wow_english/common/blocs/timerbloc/timer_bloc.dart'; |
5 | import 'package:wow_english/common/extension/string_extension.dart'; | 6 | import 'package:wow_english/common/extension/string_extension.dart'; |
6 | import 'package:wow_english/common/widgets/timer_ticker.dart'; | 7 | import 'package:wow_english/common/widgets/timer_ticker.dart'; |
@@ -43,9 +44,7 @@ class TimerWidgetView extends StatelessWidget { | @@ -43,9 +44,7 @@ class TimerWidgetView extends StatelessWidget { | ||
43 | final bloc = BlocProvider.of<TimerBloc>(context); | 44 | final bloc = BlocProvider.of<TimerBloc>(context); |
44 | return GestureDetector( | 45 | return GestureDetector( |
45 | onTap: () { | 46 | onTap: () { |
46 | - print(bloc.isCountTimer); | ||
47 | if (canSendSms && !bloc.isCountTimer ) { | 47 | if (canSendSms && !bloc.isCountTimer ) { |
48 | - print(state.duration); | ||
49 | bloc.add(StartEvent(duration: state.duration)); | 48 | bloc.add(StartEvent(duration: state.duration)); |
50 | } | 49 | } |
51 | }, | 50 | }, |
@@ -58,13 +57,16 @@ class TimerWidgetView extends StatelessWidget { | @@ -58,13 +57,16 @@ class TimerWidgetView extends StatelessWidget { | ||
58 | fit: BoxFit.fill | 57 | fit: BoxFit.fill |
59 | ), | 58 | ), |
60 | ), | 59 | ), |
61 | - padding: const EdgeInsets.symmetric(horizontal:12.0,vertical: 15.0), | 60 | + padding: EdgeInsets.symmetric(horizontal:12.w,vertical: 15.h), |
62 | child: Row( | 61 | child: Row( |
63 | children: [ | 62 | children: [ |
64 | if (state is RunningState)...[ | 63 | if (state is RunningState)...[ |
65 | const TimerText() | 64 | const TimerText() |
66 | ] else ...[ | 65 | ] else ...[ |
67 | - const Text('获取验证码') | 66 | + Text('获取验证码', |
67 | + style: TextStyle( | ||
68 | + fontSize: 12.sp | ||
69 | + ),) | ||
68 | ] | 70 | ] |
69 | ], | 71 | ], |
70 | ), | 72 | ), |
@@ -83,6 +85,9 @@ class TimerText extends StatelessWidget { | @@ -83,6 +85,9 @@ class TimerText extends StatelessWidget { | ||
83 | final secondsStr = duration.toString().padLeft(2, '0'); | 85 | final secondsStr = duration.toString().padLeft(2, '0'); |
84 | return Text( | 86 | return Text( |
85 | '${secondsStr}s后再次获取', | 87 | '${secondsStr}s后再次获取', |
88 | + style: TextStyle( | ||
89 | + fontSize: 12.sp | ||
90 | + ), | ||
86 | ); | 91 | ); |
87 | } | 92 | } |
88 | } | 93 | } |
lib/login/setpwd/set_pwd_page.dart
@@ -55,11 +55,11 @@ class _SetPassWordPageView extends StatelessWidget { | @@ -55,11 +55,11 @@ class _SetPassWordPageView extends StatelessWidget { | ||
55 | width: 83.5.h, | 55 | width: 83.5.h, |
56 | ), | 56 | ), |
57 | 12.5.horizontalSpace, | 57 | 12.5.horizontalSpace, |
58 | - const Text( | 58 | + Text( |
59 | '欢迎登录wow english\n接下来请设置一下您的密码吧!', | 59 | '欢迎登录wow english\n接下来请设置一下您的密码吧!', |
60 | style: TextStyle( | 60 | style: TextStyle( |
61 | - fontSize: 16.5, | ||
62 | - color: Color(0xFF666666) | 61 | + fontSize: 16.5.sp, |
62 | + color: const Color(0xFF666666) | ||
63 | ), | 63 | ), |
64 | ) | 64 | ) |
65 | ], | 65 | ], |
@@ -129,10 +129,11 @@ class _SetPassWordPageView extends StatelessWidget { | @@ -129,10 +129,11 @@ class _SetPassWordPageView extends StatelessWidget { | ||
129 | 9.verticalSpace, | 129 | 9.verticalSpace, |
130 | Offstage( | 130 | Offstage( |
131 | offstage: bloc.passwordCheck, | 131 | offstage: bloc.passwordCheck, |
132 | - child: const Text( | 132 | + child: Text( |
133 | '请确认两次输入的密码是否一致', | 133 | '请确认两次输入的密码是否一致', |
134 | style: TextStyle( | 134 | style: TextStyle( |
135 | - color: Color(0xFF333333) | 135 | + fontSize: 16.sp, |
136 | + color: const Color(0xFF333333) | ||
136 | ), | 137 | ), |
137 | ), | 138 | ), |
138 | ), | 139 | ), |
@@ -155,14 +156,15 @@ class _SetPassWordPageView extends StatelessWidget { | @@ -155,14 +156,15 @@ class _SetPassWordPageView extends StatelessWidget { | ||
155 | fit: BoxFit.fill | 156 | fit: BoxFit.fill |
156 | ), | 157 | ), |
157 | ), | 158 | ), |
158 | - padding: const EdgeInsets.symmetric( | ||
159 | - horizontal: 28.0, | ||
160 | - vertical: 14.0 | 159 | + padding: EdgeInsets.symmetric( |
160 | + horizontal: 28.w, | ||
161 | + vertical: 14.h | ||
161 | ), | 162 | ), |
162 | - child: const Text( | 163 | + child: Text( |
163 | '确定', | 164 | '确定', |
164 | style: TextStyle( | 165 | style: TextStyle( |
165 | - color: Colors.white | 166 | + color: Colors.white, |
167 | + fontSize: 16.sp | ||
166 | ), | 168 | ), |
167 | ), | 169 | ), |
168 | ), | 170 | ), |
pubspec.yaml
@@ -85,6 +85,7 @@ dependencies: | @@ -85,6 +85,7 @@ dependencies: | ||
85 | limiting_direction_csx: ^0.2.0 | 85 | limiting_direction_csx: ^0.2.0 |
86 | # 富文本插件 https://pub.dev/packages/extended_text | 86 | # 富文本插件 https://pub.dev/packages/extended_text |
87 | extended_text: ^11.0.1 | 87 | extended_text: ^11.0.1 |
88 | + responsive_framework: ^1.0.0 | ||
88 | 89 | ||
89 | dev_dependencies: | 90 | dev_dependencies: |
90 | build_runner: ^2.4.4 | 91 | build_runner: ^2.4.4 |