TextOverFlow.ellipsis в тексте виджета не работает - PullRequest
0 голосов
/ 31 января 2020

enter image description here

Текст моего виджета Обтекание внутри Расширенного, строки и столбца

return Container(
          child: Expanded(
            flex: 9,
            child: GestureDetector(
              onTap: () {
                // .......
              },
              child: Container(
                color: Colors.transparent,
                child: Row(
                  children: <Widget>[
                    Padding(
                        padding: EdgeInsets.only(top: 15, bottom: 15),
                        child: Container(
                          width: 2,
                          color: Color(0XFF2B9FDC),
                        )),
                    Padding(
                      padding: EdgeInsets.only(left: 15),
                      child: Column(
                        crossAxisAlignment: CrossAxisAlignment.start,
                        mainAxisAlignment: MainAxisAlignment.center,
                        children: <Widget>[
                          Text( item.name,
                            overflow: TextOverflow.ellipsis,
                            maxLines: 2,
                          ),
                          Text(item.catgeory),
                          Text(item.price,
                            style: TextStyle(color: Colors.red),
                          ),
                        ],
                      ),
                    ),
                  ],
                ),
              ),
            ),
          ),
        ); 

Я получил сообщение об ошибке: Возникло другое исключение: переполнен RenderFlex на 7,3 пикселей справа.

AnyOne может помочь?

Ответы [ 2 ]

2 голосов
/ 31 января 2020

Просто оберните ваш container Expanded и используйте свойство flex в соответствии с вашим дизайном, и дайте мне знать, работает он или нет

 return Expanded(
      child: Container(
        child: GestureDetector(
          onTap: () {
            // .......
          },
          child: Container(
            color: Colors.transparent,
            child: Row(
              children: <Widget>[
                Padding(
                    padding: EdgeInsets.only(top: 15, bottom: 15),
                    child: Container(
                      width: 2,
                      color: Color(0XFF2B9FDC),
                    )),
                Padding(
                  padding: EdgeInsets.only(left: 15),
                  child: Column(
                    crossAxisAlignment: CrossAxisAlignment.start,
                    mainAxisAlignment: MainAxisAlignment.center,
                    children: <Widget>[
                      Text( item.name,
                        overflow: TextOverflow.ellipsis,
                        maxLines: 2,
                      ),
                      Text(item.catgeory),
                      Text(item.price,
                        style: TextStyle(color: Colors.red),
                      ),
                    ],
                  ),
                ),
              ],
            ),
          ),
        ),
      ),
    ); 
1 голос
/ 31 января 2020

Измените это:

Text(
        item.name,
        overflow: TextOverflow.ellipsis,
        maxLines: 2,
        ),

на это:

Text(
        item.name,
        softWrap : true,
        maxLines: 2,
        ),

softWrap → bool

Должен ли текст разрываться при мягких переносах строк

...