【问题标题】:Horizontal slide out animation (like in Figma) in FlutterFlutter 中的水平滑出动画(如 Figma 中)
【发布时间】:2022-01-15 13:47:15
【问题描述】:

我正在尝试在 Flutter 中实现向左滑动的水平滑出动画,有点像 Figma 原型设计中可用的动画。从本质上讲,我将拥有一堆容器(带有一些文本),并且在最顶部容器的左侧滑动时,该容器应该滑出,露出下面的容器(等等)。

到目前为止,我已经查看了 PageView 和 Slide Transition 小部件; PageView 不允许这样做,因为那里的容器像列表一样排列。幻灯片转换需要路线和导航到该路线,但情况并非如此。此外,这必须在 Flutter Stack 上实现,以便最顶层的容器移出。任何关于高级小部件的输入以实现此/示例代码将不胜感激!

【问题讨论】:

  • SlideTransition 需要 Animation<Offset> - 它不需要任何 Route
  • 如果我想在拖动时更新容器的位置,@pskink SlideTransition 可能不起作用 (onPanUpdate)...交互是通过拖动

标签: flutter dart animation figma


【解决方案1】:

使用此 pub 包创建水平滑出动画。

carousel slider package

      CarouselSlider(
        items: child as List<Widget>?,
        options: CarouselOptions(
          autoPlay: false,
          enlargeCenterPage: true,
          aspectRatio: 2.0,
          onPageChanged: (index, reason) {
            setState(() {
              _current = index;
            });
          },
        ),
      ),

child 可以是 Stack 或 Container,随您的喜好。

【讨论】:

  • 不要认为这适用于一堆容器
  • 你可以使用它。阅读包文档并在我编辑的答案中查看代码。
  • 它仍然不像 Figma 那样工作,因为不同的项目彼此相邻放置,而我想要一个顶部项目,当滑动时应该显示下面的项目
猜你喜欢
  • 2023-03-04
  • 2021-09-26
  • 2020-08-26
  • 1970-01-01
  • 2020-04-28
  • 2020-05-16
  • 1970-01-01
  • 1970-01-01
  • 2014-01-12
相关资源
最近更新 更多