Я создал дерево виджетов, в котором форма находится внутри ListView, который находится внутри анимированного контейнера, который затем находится внутри другого ListView, содержащего другие анимированные виджеты с другими формами.
В основном вот так 1003 *
ListView => AnimatedContainers => ListViews => Forms
Код работает нормально. Но проблема во взаимодействии с пользователем. root ListView нельзя прокручивать по открытой форме, так как он сам открыт внутри ListView, который вместо этого прокручивается.
Я попытался найти подходящий виджет, который будет работать как контейнер для моей формы. виджета ListView. Но мои ограниченные знания виджетов и документации, которую я мог прочитать, не привели меня к решению, так как во время анимации полоса ошибок отображается с ошибкой Overflow
.
Вот часть рассматриваемого кода.
AnimatedContainer(
duration: Duration(seconds: 1),
width: MediaQuery.of(context).size.width,
height: regFormHeight,
decoration: BoxDecoration(
color: (widget.darkTheme == true)
? Colors.deepPurple[200]
: Colors.orange[600],
),
child: Center(
child: ListView(
children: <Widget>[
Padding(
padding: const EdgeInsets.all(12.0),
child: Form(
child: Column(
children: <Widget>[
SizedBox(height: 20.0),
TextFormField(
decoration: InputDecoration(
hintText: "Enter Email",
),
onChanged: (val) {
setState(() {
email = val;
});
},
),
SizedBox(height: 20.0),
TextFormField(
decoration: InputDecoration(
hintText: "Enter Password",
),
obscureText: true,
onChanged: (val) {
setState(() {
pswrd = val;
});
},
),
SizedBox(height: 20.0),
RaisedButton(
color: (widget.darkTheme == true)
? Colors.deepPurple[700]
: Colors.redAccent,
onPressed: () async {
print(email);
print(pswrd);
},
child: Text(
"Sign up",
style: TextStyle(
fontFamily: 'ShareTechMono',
color: (widget.darkTheme == true)
? Colors.white
: Colors.black,
),
),
),
],
)),
),
],
),
),
),
Основная задача - просто предоставить альтернативу виджету ListView внутри виджета AnimatedContainer. Виджет, который нельзя прокручивать, но не переполняется. Или может быть анимированная форма? Заранее спасибо.