У меня есть строка, содержащая изображения и тексты, все текстовые виджеты должны заполнять все доступные места в строке, кроме последнего.Если последний текст не умещается на экране, его следует закорочить до трех точек (TextOverflow.ellipsis).
У меня есть такое решение:
List<Widget> widgets = [];
for (var item in listItems) {
widgets.add(Image.asset("images/image.png", width: 10.0, height: 10.0));
widgets.add(Flexible(child:Padding(padding: EdgeInsets.only(right: 8.0),child:Text(item.text, style: captionStyle, overflow:TextOverflow.ellipsis))));
}
//then
Expanded(child:new Row(
mainAxisAlignment: MainAxisAlignment.start,
crossAxisAlignment: CrossAxisAlignment.center,
children: widgets
),
)
Но это не дает необходимого эффекта
⁍ - Изображение
|- Сторона строки
( для лучшего понимания )
виджеты размещаются таким образом - |⁍ someTex ... ⁍ someTex ... ⁍ someTex ... |
или |⁍ так ... ⁍ так ... ⁍ так ... ⁍ так ... ⁍ так ... |если в списке много элементов
Мне нужно, чтобы виджеты создавались таким образом - | omesomeText ⁍someTex ⁍someTex ⁍ some ... | только последний виджет должен быть закорочен
Кстати, я не знаю, сколько предметов попадет в цикл.
Может кто-нибудь объяснить, как я могу шортитьтолько последний виджет?
Заранее спасибо!