Я пытаюсь поместить виджеты ListView.builder в виджет Column, однако общее решение, предоставляемое командой флаттера, заключается в размещении неограниченного ListView.builder в виджете Expanded или Flexible. Проблема с этим заключается в том, что ListView.builder теперь заполняет как можно больше места в столбце (как показано ниже).
Есть ли способ, чтобы ListView.builder занимал только необходимое место?
import 'package:flutter/material.dart';
void main() => runApp(MyApp());
class MyApp extends StatefulWidget {
// This widget is the root of your application.
@override
_MyAppState createState() => _MyAppState();
}
class _MyAppState extends State<MyApp> {
List<Text> lst = [Text('first'), Text('second')];
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter ListView',
home: SafeArea(
child: Scaffold(
body: Column(
children: <Widget>[
Flexible(
child: ListView.builder(
itemCount: lst.length,
itemBuilder: (context, index) {
return Center(
child: lst[index],
);
},
),
),
FlatButton(
color: Colors.blue,
child: Text("Add Third"),
onPressed: () {
setState(() {
lst.add(Text("Third"));
});
},
),
Text("Next Item"),
],
),
),
),
);
}
}