Почему TextOverflow не работает.Многоточие работает должным образом с моим текстовым виджетом?

#flutter

#flutter

Вопрос:

Я пытаюсь использовать TextOverflow.Многоточие, чтобы убедиться, что некоторые текстовые данные не вызывают ошибку переполнения. Единственная проблема в том, что, похоже, он не работает должным образом для меня. Я добавляю свойство, но текст не сокращается и по-прежнему вызывает ошибку переполнения. У кого-нибудь есть представление о том, почему это происходит и как это исправить?

Вот как это выглядит в настоящее время. Даже с добавлением многоточия.

введите описание изображения здесь

Это код, который отображает все это.

                               Expanded(
                                flex: 3,
                                child: Column(
                                  crossAxisAlignment: CrossAxisAlignment.start,
                                  children: [
                                    Padding(
                                        padding: EdgeInsets.only(top: 13, left: 10),
                                        child: Row(
                                          mainAxisAlignment:
                                          MainAxisAlignment.start,
                                          children: [
                                            Text(mileage[index].trippurpose,
                                                style: TextStyle(
                                                    fontSize: 15,
                                                    fontWeight: FontWeight.bold,
                                                    color: Colors.black,
                                                    fontFamily: 'Montserrat'),
                                                overflow: TextOverflow.ellipsis,
                                                softWrap: false,
                                                textAlign: TextAlign.center)
                                          ],
                                        )),
                                    Padding(
                                      padding: EdgeInsets.only(left: 10),
                                      child: Row(
                                        children: [
                                          Text(
                                            '${mileage[index].tripfrom} - ',
                                            style: TextStyle(
                                                color: Colors.black,
                                                fontStyle: FontStyle.italic),
                                          ),
                                          Padding(
                                            padding: EdgeInsets.only(right: 36),
                                            child: Text(
                                              mileage[index].tripto,
                                              overflow: TextOverflow.ellipsis,
                                              style: TextStyle(
                                                color: Colors.black,
                                                fontStyle: FontStyle.italic
                                              ),
                                            ),
                                          )
                                        ],
                                      ),
                                    ),
                                  ],
                                ),),
  

Комментарии:

1. незначительные изменения внутри вашего Row() просто оберните ваш Text виджет Expanded родительским виджетом

2. Первая строка работала как мечта. Хотя, похоже, для второй строки это мало что дало. Я применил его к тексту mileage[index].tripto, поскольку именно там, я думаю, он начнет переполняться для этой строки, и он по-прежнему говорит о переполнении.

Ответ №1:

Во-первых, я бы всегда добавлял maxLines: 1 свойство к Text виджету в такого рода макетах.

Затем…

  • Если вы можете, попробуйте удалить Row виджет.

  • Если вы не можете удалить Row виджет, оберните Row виджет Expanded виджетом вокруг.