搜索插件、代码仓与 APP 分类

dismissible_carousel_viewpager 封面
插件详情v0.0.7

dismissible_carousel_viewpager

这是一个视图滑动器,提供轮播效果,并在页面被移除时具有消失动画。

AndroidiOSWebmacOSWindowsLinux
近 30 天下载
85
喜欢数
31
Pub 分数
160

安装插件

flutter pub add dismissible_carousel_viewpager

插件介绍

基于插件公开信息、社区数据与项目使用情况整理的选型参考。

一个 Flutter 包,实现了类似轮播图的 ViewPager,当页面被移除时具有平滑的消失动画。它通过提供视觉上引人入胜的可滑动界面和类似视差的效果,增强了用户交互体验。非常适合需要动态内容展示、直观手势导航以及项目移除功能的应用程序。该包支持 Android、iOS、Web、macOS、Windows 和 Linux 多个平台,确保广泛的兼容性。它设计轻量,易于集成到现有的 Flutter 项目中。

适合场景

  • 交互式内容滑块
  • 滑动关闭画廊
  • 基于卡片的动态界面
  • 电子商务产品轮播
  • 用户入门流程
  • 媒体浏览体验

主要特点

  • 带有视差的幻灯片效果
  • 平滑的取消动画
  • 手势驱动的页面删除
  • 跨平台支持
  • 与 Flutter 的轻松集成
  • 可自定义的过渡效果

适合对象

  • 开发交互式 UI 的开发者
  • 带有可滑动内容的应用
  • 寻求视觉精致的设计人员
  • 以移动设备为优先的应用程序
  • Web 和桌面 Flutter 应用
  • 需要直观手势的项目

使用建议

  • 可能需要对大型数据集进行性能调优
  • 复杂动画的自定义选项有限
  • 不适用于极高频率的更新
  • 最适合中等大小的内容列表
  • 在取消时需要仔细处理状态
  • 取决于底层 ViewPager 实现的稳定性

原始 README

以下为关联源码仓库的 README 原文快照,最新内容请访问源码仓库。

This is a view pager provides carousel effect and dismissal animation when page was removed.

Features

  • Dismissal animation
Fade out & slide out Fade out & scale Fade out & circular hide
dismissal_fade_slide_out dismissal_fade_scale dismissal_fade_circular_hide
  • Carousel effect
Horizontal Vertical
base_usage_horizontal base_usage_vertical

Web Live demo

This an example app of this plugin of web version.

https://zyzdev.github.io/dismissible_carousel_viewpager

Usage

More detail of usage see /example app.

Base usage:

More detail, please run demo Base Usage at /example app.

DismissibleCarouselViewPager(
  viewportFraction: 0.5,
  besidePageScale: 0.8,
  itemBuilder: (context, index) {
    return Container(
      alignment: Alignment.center,
      color: index.isEven
      ? Colors.blueAccent.withOpacity(0.1)
      : Colors.deepPurpleAccent.withOpacity(0.1),
      child: Text("Item:$index"),
    ); 
  },
  itemCount: 100,
);
Dismissal animation

More detail please run demo Dismissal Usage at /example app.

dismissible_carousel_viewpager provides several kinds of animation(fade out, slide out, scale and circular hide) to make dismissal animation.

You can combine them to make your own style of dismissal animation.

Note

The dismissal animation base on AnimatedSwitcher.

Remember add key to the page widget that created by DismissibleCarouselViewPager.itemBuilder.

I recommend using the data that preparing to create page widget to create Key("$data"), ValueKey(data) or ObjectKey(data) for the page widget.

####example:


late final List<int> _item = List.generate(1000, (index) => index);

DismissibleCarouselViewPager(
  itemCount: _item.length,
  itemBuilder: (context, index) {
    Object data = _item[index];
    return Container(
      // must add key
      key: Key("$data"),
      //key: ValueKey(data),
      //key: ObjectKey(data),
      alignment: Alignment.center,
      color: Colors.grey.withOpacity(0.1),
      child: Column(
        mainAxisSize: MainAxisSize.min,
        children: [
        Expanded(
          child: Container(
            alignment: Alignment.bottomCenter,
            child: Text("Item:$data"),
          ),
        ),
        Expanded(
          child: IconButton(
            icon: const Icon(Icons.delete),
            onPressed: () {
                setState(() {
                  _item.remove(data);
                });
              },
            ),
          ),
        ],
      ),
    );
  },
  dismissalConfig: DismissalConfig(
    dismissalTypes: [
      DismissalType.fadeOut(),
      DismissalType.slideOut(),
    ],
  ),
);

所属分类

源码仓库

使用此插件的项目

暂无相关数据。