Колебание начальной точки карусели

Вот мой код.

      @override
  Widget build(BuildContext context) {
    return Container(
      color: Colors.red,
      padding: EdgeInsets.all(7),
      child: Column(
        crossAxisAlignment: CrossAxisAlignment.start,
        children: <Widget>[
          Text('지금 뜨는 콘서트'),
          Material(
            color: Colors.lightGreen,
            child: CarouselSlider(
              items: makeBoxImages(context, concerts),
              options: CarouselOptions(
                viewportFraction: 0.3,
                enableInfiniteScroll: false,
                initialPage: 1,
              ),
            ),
          ),
        ],
      ),
    );
  }
      List<Widget> makeBoxImages(BuildContext context, List<Concert> concerts) {
  List<Widget> results = [];
  for (var i = 0; i < concerts.length; i++) {
    results.add(
      Material(
        color: Colors.yellow,
        child: Column(
          children: [
            Container(
              color: Colors.blue,
              child: Column(
                crossAxisAlignment: CrossAxisAlignment.center,
                children: [
                  Image.asset(
                    'assets/images/' + concerts[i].poster,
                    width: MediaQuery.of(context).size.width * 0.25,
                  ),
                  Row(
                    mainAxisAlignment: MainAxisAlignment.center,
                    children: <Widget>[
                      Icon(
                        kIconMap[concerts[i].kinds],
                        size: 15,
                      ),
                      Text(concerts[i].kinds),
                    ],
                  ),
                ],
              ),
            ),
          ],
        ),
      ),
    );
  }
  return results;
}

а затем на экране было показано следующее.

когда я прокручиваю слева направо, экран выглядел так.

После этого экран починил.


Здесь у меня два вопроса.

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

  2. Когда первый элемент слайдера на экране крайний левый, я хочу исправить это (когда пользователь прокручивает слева направо)

как 1-е изображение, а не 2-е изображение.

Спасибо, что прочитали мой вопрос.

1 ответ

Если я ясно понимаю вашу проблему, то решение состоит в том, чтобы переключить padEnds на false

       options: CarouselOptions(
 padEnds : false)

Надеюсь, это поможет.

Другие вопросы по тегам