Как переместить границу в flutter

#dart #flutter

#dart #flutter

Вопрос:

Я использую ListView в flutter для создания табло. Я хочу разделить разных участников границей. Однако это создает проблему с моим текущим макетом.

Оформление коробки с границей выглядит следующим образом:

 return SizedBox(
  key: ValueKey(record.name),
  width: double.infinity,
  height: 80,
  child: Container(
    decoration: BoxDecoration(
      color: Colors.white,
      border: Border(
          bottom: BorderSide(width: 1.0, color: Color(0xFFFF000000)),
      ),
    ),
    child: ListTile(
      leading: new CircleAvatar(
        radius: 35.0,
        backgroundImage: NetworkImage("https://i.imgur.com/XvoqJ6C.png"),
        backgroundColor: Colors.transparent,
      ),
      title: Text(record.name   ": "   record.score.toString(), style:
        new TextStyle(
          fontSize: 20,
        ),),
  

А изображение макета можно увидеть здесь:

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

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

Ответ №1:

попробуйте ListView.separated вот так :

 ListView.separated(
    itemCount: list.length,
    itemBuilder: (BuildContext context, int index) {
        return  _buildListItem(context, snapshot[index]);    
    },
    separatorBuilder: (BuildContext context, int index) {
      return Divider(
        height: 24.0,
        color: Colors.black26,
      );
    },

)
  

таким образом, вместо того, чтобы добавлять границу каждый раз, разделяйте свои виджеты, используя Divider()

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

1. Это имеет смысл, я использовал это раньше. Однако — где в моем коде я мог бы это реализовать? Я создаю свой listview следующим образом: codeshare.io/29xkYB