#flutter #flutter-layout #flutter-animation
#флаттер #flutter-layout #флаттер-анимация
Вопрос:
Я хочу иметь возможность прокручивать раздел страницы, который будет находиться между двумя разделами фиксированных размеров, но я хочу, чтобы этот раздел был максимально расширен.
Причина, по которой я этого хочу, заключается в том, что если устройство очень маленькое, прокрутка работает, но если устройство большое, прокрутка не требуется.
Я пытаюсь разместить SingleChildScrollView () внутри Flexible (), чтобы он максимально расширялся.
Я пытаюсь это сделать, но возникает ошибка
Дизайн такой
Комментарии:
1. Обновите мой вопрос с изображением того, что я пытаюсь…
2. Вы пробовали Expanded вместо Flexible? По моему опыту, Flutter очень требователен к типу используемого вами виджета размеров
Ответ №1:
Есть несколько способов сделать это, вы можете сделать это с помощью ListView.builder
class UiMenu extends StatelessWidget {
const UiMenu({Key key}) : super(key: key);
@override
Widget build(BuildContext context) {
return Scaffold(
body: Column(
children: [
Expanded(
flex: 2,
child: Container(
color: Colors.blue,
),
),
Expanded(
flex: 8,
child: Container(
child: ListView.builder(
padding: EdgeInsets.all(0.0),
itemCount: 10,
itemBuilder: (BuildContext context, int index) {
return Card(
margin: EdgeInsets.only(bottom: 2),
child: ListTile(
leading: Icon(
Icons.equalizer_rounded,
size: 45,
),
title: Text(
"Option ${index 1}",
style: Theme.of(context).textTheme.headline6,
),
trailing: Icon(
Icons.chevron_right,
size: 45,
),
),
);
},
),
),
),
Expanded(
flex: 1,
child: Container(
color: Colors.orange,
),
)
],
),
);
}
}