Flutter горизонтальный ListView BoxConstraints заставляет бесконечную ширину - PullRequest
0 голосов
/ 09 июля 2020

в настоящее время я пытаюсь показать горизонтальный конструктор ListView внутри карты. Но я всегда получаю сообщение об ошибке: « BoxConstraints устанавливает бесконечную ширину .

Если я создаю представление списка с вертикальным списком, все работает нормально. Как только я перейду к горизонтальному списку, список исчезнет.

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

Это моя последняя попытка для второй карты: (я удалил код для первой карты, поэтому код не слишком длинный)

Expanded(
child: Container(
height: 250.0,
child: Card(
color: Color(_colors.getBackgroundColor()),
elevation: 10.0,
shadowColor: Colors.black54,
margin: EdgeInsets.all(8.0),
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(10.0),
side: BorderSide(
color: Color(_colors.getLightMainColor()))),
     child: Padding(
         padding: const EdgeInsets.all(8.0),
            child: Container(
              width: 250.0,
               child: ListView.builder(
               scrollDirection: Axis.horizontal,
               itemCount: 1,
               itemBuilder: (context, index) {
               return ListTile(
               title: Text('Test'),
                  );
                 }),
               )),
              ),
             ),
   ),

1 Ответ

0 голосов
/ 09 июля 2020

Я обновил ваш код, чтобы он мог работать правильно.

Помните, вы не можете иметь горизонтальный ListTile

И дайте мне знать, если вам нужно что-то еще

Container(
  height: 250.0,
  width: double.infinity,
  child: Card(
    color: Colors.red,
    elevation: 10.0,
    shadowColor: Colors.black54,
    margin: EdgeInsets.all(8.0),
    shape: RoundedRectangleBorder(
      borderRadius: BorderRadius.circular(10.0),
      side: BorderSide(
        color: Colors.blue,
      ),
    ),
    child: Padding(
      padding: const EdgeInsets.all(8.0),
      child: Container(
        width: 250.0,
        child: ListView.builder(
          scrollDirection: Axis.horizontal,
          itemCount: 5,
          itemBuilder: (context, index) {
            return Container(
              width: 250.0,
              child: Text('Test')
            );
          }
        ),
      ),
    ),
  ),
),

Может вам поможет

...