Flutter 脉动效果组件

Pulsator Flutter 包为您的 Flutter 应用程序带来了迷人的脉动动画效果。

PulsatorPreview

安装

要将 Pulsator 包集成到您的 Flutter 项目中,请将以下依赖项添加到您的 pubspec.yaml 文件中

dependencies:
  pulsator: ^1.0.0

进行修改后,在您的终端中运行以下命令

flutter pub get

简介

Pulsator 包引入了两个主要的小部件:PulsatorPulseIcon

Pulsator 小部件

Pulsator 小部件允许您创建具有可自定义样式的脉动动画。您可以控制脉动的数量、动画持续时间、重复次数等。此小部件非常适合为应用程序的特定区域添加动态视觉效果。

Pulsator(
  style: PulseStyle(color: Colors.blue),
  count: 5,
  duration: Duration(seconds: 4),
  repeat: 0,
  startFromScratch: false,
  autoStart: true,
  fit: PulseFit.contain,
  child: YourContentWidget(),
)

PulseIcon 小部件

PulseIcon 小部件简化了显示带脉动效果的图标的过程。它允许您轻松自定义脉动和图标的属性。

PulseIcon(
  icon: Icons.favorite,
  pulseColor: Colors.red,
  iconColor: Colors.white,
  iconSize: 44,
  innerSize: 54,
  pulseSize: 116,
  pulseCount: 4,
  pulseDuration: Duration(seconds: 4),
)

功能

  • 可自定义样式:通过可调整的颜色、大小和渐变配置,根据您的偏好定制脉动动画。
  • 动态脉动效果:创建动态且视觉上吸引人的脉动动画,以吸引您 UI 中特定元素的注意力。
  • 图标集成:使用 PulseIcon 小部件轻松将脉动效果集成到您的图标中,以获得更具吸引力的用户体验。
  • 灵活配置:通过调整计数、持续时间、重复次数等参数来微调脉动行为。

用法

探索 PulsatorPulseIcon 小部件提供的各种属性和自定义选项,将脉动动画无缝集成到您的 Flutter 应用程序中。尝试不同的配置以达到所需的视觉效果并增强整体用户体验。

有趣的示例

代码 预览
PulseIconExampleCode PulseIconExamplePreview
SplashExampleCode SplashExamplePreview
TunnelExampleCode TunnelExamplePreview
LooneyExampleCode LooneyExamplePreview

许可证

本项目根据 MIT 许可证授权 – 有关详细信息,请参阅 LICENSE 文件。

贡献

请阅读 CONTRIBUTING.md 以了解我的行为准则以及向我提交拉取请求的流程。

文档,拜托!

Pulsator 小部件属性

属性 类型 描述
style PulseStyle 脉动样式配置。必需。
count 整数 一次可见的脉动数量。默认为 3
duration 持续时间 单次脉动动画的持续时间。默认为 2 秒。
repeat 整数 脉动重复的次数。如果为 0,则脉动将无限重复。默认为 0
startFromScratch 布尔值 动画是否应从头开始。默认为 true
autoStart 布尔值 小部件创建时动画是否应自动启动。默认为 true
fit PulseFit 脉动应如何缩放到适应小部件大小。默认为 PulseFit.contain
child Widget? 在脉动之上渲染的小部件的子项。默认为 null

事件

活动 描述
onCreated 创建动画控制器时调用。
onCompleted 动画完成时调用。

PulseIcon 小部件属性

属性 类型 描述
icon IconData 要显示的小部件。必需。
pulseColor 颜色 脉动的颜色。必需。
iconColor 颜色 图标的颜色。默认为 white
iconSize 双精度 图标的大小。默认为 24
pulseSize 双精度 脉动的大小。默认为 64
innerColor Color? 内部非脉动圆的颜色。默认为 null
innerSize double? 内部非脉动圆的大小。默认为 null
pulseCount 整数 要显示的脉动数量。默认为 3
pulseDuration 持续时间 单次脉动动画的持续时间。默认为 4 秒。

PulseStyle 属性

属性 类型 描述
color 颜色 主要脉动颜色。默认为 Colors.red
borderColor Color? 脉动边框颜色。如果为 null,则不会渲染边框。默认为 null
borderWidth double? 脉动边框宽度。如果为 null,则不会渲染边框。默认为 null
gradientStyle PulseGradientStyle? 如果设置,脉动将呈现为渐变。默认为 null
pulseCurve Curve 脉动缩放动画曲线。默认为 Curves.linear
opacityCurve Curve 脉动不透明度动画曲线。默认为 Curves.linear
fadeOpacity 布尔值 不透明度是否应从 1.0 动画到 0.0。默认为 true
startSize 双精度 脉动开始时的大小,以脉动半径的分数表示。默认为 0.0

PulseGradientStyle 属性

属性 类型 描述
radius 双精度 渐变的半径,以脉动半径的分数表示。默认为 0.5
start 双精度 渐变的起点,以脉动半径的分数表示。默认为 0.0
end 双精度 渐变的终点,以脉动半径的分数表示。默认为 1.0
startColor Color? 渐变的起始颜色。如果为 null,则使用脉动颜色,不透明度设置为 0.0。默认为 null
reverseColors 布尔值 渐变颜色是否应反转。如果为 true,则渐变将从 end 开始,到 start 结束。默认为 false

PulseFit 枚举

Value 描述
contain 脉动将被缩放到适应小部件大小。
cover 脉动将被缩放到填充小部件大小。

GitHub

查看 Github