Flutter – могу ли я заставить SingleChildScrollView заполнить доступное пространство?Android

Форум для тех, кто программирует под Android
Anonymous
Flutter – могу ли я заставить SingleChildScrollView заполнить доступное пространство?

Сообщение Anonymous »

У меня есть приложение Flutter, которое я создаю для Android. В целом структура выглядит следующим образом:

Код: Выделить всё

  Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(title: Text("")),
body: SingleChildScrollView(
child: Container(
decoration: const BoxDecoration(
gradient: ...
),
child: ...
),
)
);
}
Цель состоит в том, чтобы градиентный фон заполнял весь экран под панелью приложения, а если содержимое превышает это пространство, сделать его прокручиваемым.
Если я опущу SingleChildScrollView, контейнер заполнит пространство. Но, конечно, если он переполняется, то прокрутки нет. С приведенным выше кодом представление прокрутки работает на маленьких экранах, но на больших экранах градиентный фон не заполняет всю доступную область.
Если я изменю его следующим образом:

Код: Выделить всё

  Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(title: Text("")),
body: Container(
decoration: const BoxDecoration(
gradient: ...
),
child: Column(children: [
SingleChildScrollView(
child: ...
),
Expanded(child:Container())
]),
)
);
}
тогда градиент заполняет фон, но режим прокрутки работает неправильно — содержимое выходит за пределы экрана, но его нельзя прокручивать. Как мне заставить его делать и то, и другое?

Подробнее здесь: https://stackoverflow.com/questions/729 ... able-space

Вернуться в «Android»