Flutter - Как исправить ошибку переполнения RenderFlex? - PullRequest
0 голосов
/ 28 октября 2019

Я хочу сделать вид списка с фоновым изображением. это мой код строителя

ListView.builder(
    itemCount: this.locations.length,
    itemBuilder: (context, index) {
      return Container(
          height: 100,
          decoration: BoxDecoration(
              image: DecorationImage(
                  image: NetworkImage(this.locations[index].url),
                  fit: BoxFit.cover)),
          child: new Row(
            crossAxisAlignment: CrossAxisAlignment.end,
            children: <Widget>[
              new Text(this.locations[index].name,
                  style: Styles.listItemStyle)
            ],
          ));
    },
  )

some of the text is being clipped

Ответы [ 2 ]

1 голос
/ 28 октября 2019

Мне кажется, что проблема связана с именами, текст больше экрана, и поэтому Flutter пытается воспроизвести то, что не будет видно. Есть несколько решений, которые вы можете рассмотреть:

  • Используйте пакет auto_size_text , он автоматически уменьшит размер шрифта текста в соответствии с его ограничениями.
  • Используйте Виджет LayoutBuilder , чтобы получить родительский текст constraints и заставить текст соответствовать его доступному размеру с помощью SizeBox, тогда вы можете установить overflow: TextOverflow.ellipsis в конструкторе Text, чтобы отображать три точки, еслитекст не умещается на экране.
  • Используйте горизонтальный SingleChildScrollView , чтобы сделать текст прокручиваемым.
0 голосов
/ 28 октября 2019

Зачем вам нужна строка, когда ваш контейнер содержит только один виджет? Попробуйте удалить виджет Row. Тогда текст внутри контейнера должен сломаться правильно?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...