Я пытаюсь понять, что я делаю неправильно. Разве он никогда не должен вызывать эту ошибку, поскольку он находится внутри ListView с вертикальной прокруткой?
body: Center(
child: FutureBuilder<FiveDaysForecast>(
future: forecast,
builder: (context, snapshot) {
if (snapshot.hasData) {
return ListView(scrollDirection: Axis.vertical, children: [
Container(
padding: EdgeInsets.all(30),
margin: EdgeInsets.fromLTRB(5, 20, 5, 30),
child: Column(
children: [
Image.network(
snapshot.data.getCurrentWeatherImageUrl())],
)),
Container(width: 100, height: 60, child: ListView.builder(
scrollDirection: Axis.horizontal,
itemBuilder: (context, index) {
return Container(
width: 70,
//height: 70,
//padding: EdgeInsets.all(5),
margin: EdgeInsets.fromLTRB(5, 10, 5, 10)),
child: Column(children: [
Image.network(
"${snapshot.data.getNextFiveHours()[index].getWeatherImageUrl()}"),
Text(
"${snapshot.data.getNextFiveHours()[index].dateTime.hour}:00",
style: GoogleFonts.roboto(
fontSize: 16, color: Colors.white))
]),
);
},
itemCount: 5),),
]);
}
if (_cityName == "") {
return Text("Search a city");
} else {
return CircularProgressIndicator();
}
},
)),
Я пытаюсь создать приложение с вертикальной прокруткой, содержащее горизонтальное представление списка и контейнер.
Та же ошибка, только что попробовал
Можете ли вы прислать мне скриншот консоли отладки?
Вы можете попробовать это
body: FutureBuilder<FiveDaysForecast>(
future: forecast,
builder: (context, snapshot) {
return snapshot.hasData ? ListView(scrollDirection: Axis.vertical, children: [
Container(
padding: EdgeInsets.all(30),
margin: EdgeInsets.fromLTRB(5, 20, 5, 30),
child: Column(
children: [Image.network(snapshot.data.getCurrentWeatherImageUrl())],
),
),
Container(
width: 100, height: 60,
child: ListView.builder(
scrollDirection: Axis.horizontal,
itemBuilder: (context, index) {
return Container(
width: 70,
//height: 70,
//padding: EdgeInsets.all(5),
margin: EdgeInsets.fromLTRB(5, 10, 5, 10),
child: Column(
children: [
Expanded(
child: Image.network("${snapshot.data.getNextFiveHours()[index].getWeatherImageUrl()}"),
),
Text("${snapshot.data.getNextFiveHours()[index].dateTime.hour}:00", style: GoogleFonts.roboto(
fontSize: 16,
color: Colors.white,
)),
],),);
},
itemCount: 5),),
]) : Center(
child: _cityName.isEmpty ? Text("Search a city") : CircularProgressIndicator(),
);
},
)
Не работает. Та же ошибка. Я пробовал как редактировать свой код, так и копировать и вставлять ваш
Я включил ваш Image.network в расширенный виджет. Попробуйте новый код
Это сработало! Большое спасибо! Можете ли вы объяснить мне, почему мне нужно было обернуть изображение в расширенный виджет?
Вы пытались удалить виджет Center из тела и использовать его только с CircularProgressIndicator?