Flutter: как поместить горизонтальную полосу прокрутки Listview в середину списка?

#flutter

#flutter

Вопрос:

Я смог реализовать прокручиваемый горизонтальный список в flutter. Но мне нужно поместить полосу прокрутки в середину списка. Прямо сейчас находится слева, что является отправной точкой моего списка.

вот мой текущий прокручиваемый listview

   Widget build(BuildContext context) {
return Container(
  // padding: EdgeInsets.symmetric(horizontal: 16.0, vertical: 24.0),
  margin: EdgeInsets.all(5.0),
  height: MediaQuery.of(context).size.height * 0.25,
  child: Scrollbar(
  isAlwaysShown: true,
  controller: _scrowllController,
  thickness: 3.0,
  child: ListView.builder(
    controller: _scrowllController,
    scrollDirection: Axis.horizontal,
    itemCount: numbers.length,
    itemBuilder: (context, index) {
      return Container(
        width: MediaQuery.of(context).size.width * 0.4,
        child: Card(
          color: Colors.blue,
          margin: EdgeInsets.only(bottom:30.0, right: 10.0),
          child: Container(
            child: Center(
                child: Text(
              numbers[index].toString(),
              style: TextStyle(color: Colors.white, fontSize: 36.0),
            )),
          ),
        ),
      );
    },
  ),
  ),
);
  

}

вот что показывает приведенный выше код введите описание изображения здесь

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

Ответ №1:

Установите initialScrollOffset вашего ScrollController равным numbers.length / 2 * itemWidth

Кроме того, поскольку все ваши элементы имеют одинаковую ширину, я рекомендую установить itemExtent значение ListView, поскольку это сильно влияет на производительность

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

1. Спасибо за ответ. Но как получить числа и ItemWidth, которые вы упомянули в своем ответе. Извините, я новичок в flutter