В настоящее время у меня есть список, состоящий из Containers()
(поскольку я не могу использовать ListView, потому что мне нужна внешняя прокрутка), и он работает хорошо, за исключением того, что в каждом из них у меня есть Row()
с двумя Column()
виджетами . Первый столбец должен быть ограничен печатью изображения, а второй - отображать определенную информацию в строках. Это очень типичный способ составления списков, поэтому я подумал, что это не должно вызывать проблем.
Дело в том, что второй виджет Text()
во втором Column()
, кажется, всегда вызывает верхний Text()
сдвигаться вправо, вызывая переполнение и делая текст нечитаемым, недоступным для пользователя. Посмотрите на это изображение:
введите описание изображения здесь
Да, названия есть (даже если вы не видите второй). Просто они довольно сдвинуты вправо. Если я удалю описание, приведенное ниже, они появятся правильно, слева, с небольшим отступом слева. Дело в том, что эти заголовки должны присутствовать независимо от того, какие элементы находятся ниже, или, по крайней мере, так я понимаю, что виджет Column()
должен работать.
Взгляните на код:
getListItems(List<Artist> artistList) {
// Iterate through the whole Artists array and render a list item for each one
return artistList.map((Artist artist) {
return Container(
margin: EdgeInsets.only(top: 12),
height: 100,
color: Colors.grey[600],
child: Row(
children: <Widget>[
Padding(padding: EdgeInsets.only(left: 15)),
Column(
children: <Widget>[
Image(
width: 100,
height: 100,
fit: BoxFit.cover,
image: artist.avatar)
],
),
Padding(padding: EdgeInsets.only(top: 5)),
Column(
children: <Widget>[
Text(
artist.name,
style: TextStyle(fontSize: 18),
),
Padding(padding: EdgeInsets.only(top: 5)),
Text(artist.description, style: TextStyle(fontSize: 13))
],
)
],
));
}).toList();
Что не так в этом коде? Спасибо!