У меня есть страница, которая не была инициализирована повторно, когда я закрываю ее и открываю снова.
Все работает нормально при нормальном процессе
, когда я снова открываю его, приложение просто пустое
Я также поставил медиазапрос, который определяет, является ли это планшетом или мобильным просмотром (работает в обычном процессе)
final _portrait = Orientation.portrait;
final _landscape = Orientation.landscape;
_screenWidth = constraints.maxWidth;
_screenHeight = constraints.maxHeight;
isMobile = _screenWidth < 650 ? true : false;
И он возвращает мне ошибку (Когда я закрою и снова открою приложение). Это означает, что виджет не инициализируется.
Мой код - это просто дерево виджетов.
Widget build(BuildContext context) {
return Scaffold(
body: Container(
color: Theme.of(context).backgroundColor,
alignment: Alignment.center,
child: Center(
child: SingleChildScrollView(
// shrinkWrap: true,
child: Column(
children: <Widget>[
SizedBox(
height: MediaQuery.of(context).size.height * 0.05,
),
Mylogo(),
welcomeMessage(context),
],
),
),
),
),
);
}}
Widget welcomeMessage(BuildContext context) {
final bloc = UserProvider.of(context);
double aproxPadding = MediaQuery.of(context).size.width * 0.12;
double aproxPadding2 = MediaQuery.of(context).size.width * 0.05;
double aproxPadding3 = MediaQuery.of(context).size.width * 0.08;
double aproxSizedBox0 = MediaQuery.of(context).size.height * 0.07;
double aproxSizedBox = MediaQuery.of(context).size.height * 0.03;
double aproxSizedBox2 = MediaQuery.of(context).size.height * 0.04;
double aproxSizedBox3 = MediaQuery.of(context).size.height * 0.1;
return ResponsiveTemplate(
child: Column(
mainAxisAlignment: MainAxisAlignment.start,
crossAxisAlignment: SizeConfiguration.isTablet ? CrossAxisAlignment.center : CrossAxisAlignment.start,
children: <Widget>[
Padding(
padding: EdgeInsets.only(left: aproxPadding, right: aproxPadding),
child: Column(
mainAxisAlignment: MainAxisAlignment.start,
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
SizedBox(
height: aproxSizedBox0,
),
Text(
S.of(context).helloScreenInfo1 +
bloc.currentUser.username +
'!',
style: Theme.of(context).textTheme.title,
),
SizedBox(
height: aproxSizedBox,
),
Padding(
padding: EdgeInsets.only(right: aproxPadding2),
child: Text(
S.of(context).helloScreenInfo2,
style: TextStyle(
color: Theme.of(context).primaryColor,
fontSize: 20.0,
fontWeight: FontWeight.bold,
),
),
),
SizedBox(
height: aproxSizedBox,
),
Padding(
padding: EdgeInsets.only(right: aproxPadding2),
child: AutoSizeText(
S.of(context).helloScreenInfo3,
style: TextStyle(
fontSize: 16.0,
fontWeight: AppWeights.medium
),
),
),
SizedBox(
height: aproxSizedBox2,
),
],
),
),
Padding(
padding: SizeConfiguration.isTablet ? EdgeInsets.only(left: SizeConfiguration.screenWidth * 0.35, right: SizeConfiguration.screenWidth * 0.35) : EdgeInsets.only(left: aproxPadding3, right: aproxPadding3),
child: Column(
children: <Widget>[
CustomButton2(
title: S.of(context).helloScreenBtnStartShift,
asset: 'shift',
onPressed: () {
goToTableAssignmentScreen(context);
},
),
SizedBox(
height: aproxSizedBox3,
),
],
),
)
],
),
);
}