Flutter_Swiper текст поверх изображения - PullRequest
0 голосов
/ 08 мая 2020

Я начал экспериментировать с Flutter Swiper (https://pub.dev/packages/flutter_swiper), и пока он очень мощный!

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

            new Swiper(
              outer: false,
              itemBuilder: (BuildContext context, int index) {
                return new Column(
                  children: <Widget>[
                    Column(
                      mainAxisSize: MainAxisSize.min,
                      children: <Widget>[
                        new Container(
                          child: new Container(
                            child: new Image.asset(dateIdeas[index]),
                          ),
                        ),
                        new Text(
                          "test",
                          textAlign: TextAlign.start,
                        ),
                      ],
                    ),
                  ],
                );
              },
              itemCount: dateIdeas.length,
              layout: SwiperLayout.DEFAULT,
              itemHeight: 800,
              itemWidth: 400,
            ),

Это отображает слово «Test» под изображением, и текст перемещается по мере того, как изображение перемещается. Однако я не могу наложить текст на изображение. Я попытался добавить отступ и увеличить значение «нижнего», чтобы сдвинуть текст вверх, но он не перемещается. Досадно, что он сдвигает текст влево, вправо и вниз, когда его спрашивают.

Кто-нибудь знает, как это сделать?

1 Ответ

1 голос
/ 08 мая 2020

Используйте Stack

    Swiper(
          outer: false,
          itemBuilder: (BuildContext context, int index) {
            return new Column(
              children: <Widget>[
                Column(
                  mainAxisSize: MainAxisSize.min,
                  children: <Widget>[
                    Stack(
                      children: <Widget>[
                        new Container(
                          child: new Image.asset(dateIdeas[index]),
                        ),
                        new Text(
                          "test",
                          textAlign: TextAlign.start,
                        ),
                      ],
                    )
                  ],
                ),
              ],
            );
          },
          // itemCount: dateIdeas.length,
          // layout: SwiperLayout.DEFAULT,
          itemHeight: 800,
          itemWidth: 400,
        );
...