我在ListView.separated中遇到了问题,无法使其中的所有项适应Container中可用的所有空间,并且每个项的高度相同。
class DailyWeatherListCardWidget extends StatelessWidget {
const DailyWeatherListCardWidget({super.key});
@override
Widget build(BuildContext context) {
return Container(
width: double.infinity,
height: 300,
alignment: Alignment.center,
padding: const EdgeInsets.all(8.0),
decoration: BoxDecoration(
color: const Color.fromRGBO(112, 176, 250, 1),
borderRadius: BorderRadius.circular(20),
),
child: Column(
children: [
ListView.separated(
separatorBuilder: ((context, index) => const Divider()),
itemCount: 7,
itemBuilder: (context, index) {
return DailyWeatherCardWidget();
},
),
],
),
);
}
}
class DailyWeatherCardWidget extends StatelessWidget {
const DailyWeatherCardWidget({super.key});
@override
Widget build(BuildContext context) {
return SizedBox(
child: Row(
children: const [
Expanded(
child: Padding(
padding: EdgeInsets.only(left: 12.0),
child: Text("Day"),
),
),
Icon(
Icons.water_drop,
size: 18,
),
Padding(
padding: EdgeInsets.only(right: 12.0),
child: Text("50%"),
),
Padding(
padding: EdgeInsets.only(right: 12.0),
child: Icon(
Icons.sunny,
size: 18,
),
),
Padding(
padding: EdgeInsets.only(right: 12.0),
child: Icon(
Icons.cloud,
size: 18,
),
),
Padding(
padding: EdgeInsets.only(right: 12.0),
child: Text("29° 20°"),
),
],
),
);
}
}
这是我的代码。我希望在ListView.separated中生成的项目具有相同的大小并在Container内平均显示,占用其所有空间,但我不知道该怎么做。我尝试了很多不同的方法,比如将ListView.separated包装在Expanded widget或Flexible Widget中。有谁知道我该怎么做吗?