搜尋套件、儲存庫與 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(),
    ],
  ),
);

所屬分類

原始碼儲存庫

使用此套件的專案

暫無相關資料。