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

flutter_animated_cards 封面
插件详情v0.0.2

flutter_animated_cards

一个完全可自定义的动画卡片小部件,具有3D动画等功能。此小部件可在 Android 和 iOS 上运行。

近 30 天下载
135
喜欢数
46
Pub 分数
70

安装插件

flutter pub add flutter_animated_cards

插件介绍

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

Flutter 动画卡片是一个可自定义的组件,用于创建具有 3D 动画效果的视觉吸引力卡片,旨在提升 Android 和 iOS 上的用户交互体验。它支持流畅的过渡和动态效果,非常适合现代应用程序界面。该包轻量且易于集成,为开发者提供了设计和行为上的灵活性。凭借对动画质量与跨平台兼容性的关注,它为基于卡片的布局带来了深度与互动性。

适合场景

  • 交互式产品展示
  • 动画导航卡片
  • 游戏化用户界面元素
  • 动态内容轮播
  • 引导页面

主要特点

  • 3D 卡片动画
  • 完全可自定义的外观
  • 跨平台支持(Android 和 iOS)
  • 平滑过渡效果
  • 通过 pub 实现轻松集成
  • 响应式设计处理

适合对象

  • 寻求视觉魅力的UI设计师
  • 开发交互式仪表板的开发者
  • 需要引人入胜的引导体验的应用程序
  • 带有产品卡片的电商应用
  • 原型设计动画界面

使用建议

  • 可能影响低端设备的性能
  • 需要对复杂动画进行仔细优化
  • 除了基本用法外,文档有限
  • 不适合静态或极简设计
  • 最适合与中等动画复杂度配合使用

原始 README

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

flutter_animated_cards

A Fully customizable animated cards widget that has feature of 3D animation and much more. This widget works on both Android & iOS.

Installation

Add following dependency in pubspec.yaml file. And add this import to your file.

flutter_animated_cards: ^0.0.1

import 'package:flutter_animated_cards/flutter_animated_cards.dart';

Quick Start

// Add AnimatedCards to the widget tree

child: FlutterAnimatedCards(
          list: _cardList,
          model: _cardModel,
        ),                ​

Card Model

class CardModel {
   final String title;                  /// required
   final String imagePath;            /// required  i.e "assets/images/image.png"
   final String description;        /// (Optional)
   final Color color;             /// (Optional) add this parameter if you want to have different color on each card
   final List<Color> colorList; /// (Optional) add this parameter if you want to apply different gradient on each card
}
FlutterAnimatedCards made through model class

If you add Color parameter in your model class and assign each list item a new different color then your widget look like this.

Cards with ModelColor Cards with Model Gradient
1-
   CardModel(
           title: 'Colors, Vibrant',
           description:'Gardening is how I relax. It\'s another form of creating and playing with colors.',
           color: Color(0xfff9d9e2),  // add color of your choice, add different colors in every list item
           imagePath: "assets/images/colors.png"),

2- 
   CardModel(
          title: 'Budapest, Hungary',
          description:'Meet the CardModel with rich history and indescribable culture',
          colorList: [Color(0xFF4CAF50),  // add gradient of your choice, add different gradient in every list item
            Color(0xFF00BCD4),
            Color(0xFF99ca3d)],
          imagePath: "assets/images/city_image.png"),

FlutterAnimatedCards without passing any color in model class

This is another way to give colors or gradient to your card. Now you need to add 'cardWithSingleColor' or 'cardWithGradientColors' as shown below

Cards with Single Color Cards with Single Gradient
1-
   child: FlutterAnimatedCards(
          list: _cardList,
          model: _cardModel,
          cardWithSingleColor: Color(0xfff9d9e2),  // you are not asked to add this parameter, but you can this if you want to display your cards with any other single color. By default cards will appear as it is shown in Screenshot 
        ),

2- 
   child: FlutterAnimatedCards(
          list: _cardList,
          model: _cardModel,
          cardWithGradientColors: [Color(0xffacb6e5),  // this parameter is needs to be added to add gradient, there is no default gradient available in lib
           Color(0xFFD5D2D2),
           Color(0xFFfbc7d4)],
        ),


Custom Usage

There are several options that allow for more control:

Properties Description
model This is the required parameter. You need to pass a model class somehow similar to the one shown in example, you can add more arguments in your class but 'name', 'description', 'image' is necessary
list This is also the required parameter. You need to pass a list of your model class, this list can not be null or empty
cardHeight set card height according to your requirement.
cardWidth set card width according to your requirement.
isRotatingCards by default it's 'true', you can set it 'false' if you don't want to add 3D rotation in your cards.
cardWithSingleColor if you want to give all your cards one single color, use this property. You can also give each card a different color through model class
cardWithGradientColors it takes List as a parameter, this property allows you to apply the same gradient on all of your cards. You can also give each card a different gradient through model class
moreText by default I have set it to 'LEARN MORE', but you can change it to any text according to your choice.
onMoreBtnPressed this is a click event, currently it performs nothing you can use it according to your choice.

Developer

Faiza Farooqui

License

MIT

所属分类

源码仓库

使用此插件的项目

暂无相关数据。