Blob Flutter 包
为您的 flutter 应用添加炫酷的 blob。您现在可以在应用中使用许多 blob(按钮、加载器、背景…)。
特点
- blob 布局
- blob 按钮
- 随心所欲地自定义您的 blob
路线图
- 改进文档
- 将着色器迁移到 umbra
- 着色器:等待 flutter glsl int / 数组支持
- 着色器:等待 flutter glsl 输出支持
- 着色器:创建渐变版本
- 按钮:添加按下效果
- 按钮:提供自定义方法让用户创建自己的按下效果
入门
安装 flutter_blob 包。
用法
布局
BlobLayout.from(
blobs: myBlobsList,
blobsColor: Colors.blue,
)
或者使用构建器函数(推荐)
BlobLayout.builder(
builder: (Size areaSize) => [
RotatingParticle.random(area),
RotatingParticle.random(area),
RotatingParticle.random(area),
RotatingParticle.random(area),
RotatingParticle.random(area),
RotatingParticle.random(area),
RotatingParticle.random(area),
RotatingParticle.random(area),
],
blobsColor: Colors.blue,
)
您必须提供恰好 8 个 blob。这是由于 flutter 着色器支持的当前限制
此存储库的示例文件夹中提供了一个示例。
按钮
目前按钮仅支持图标。
BlobButton.bouncing(
onTap: () => print("do w/e you want"),
backgroundColor: Colors.amber[900],
icon: Icon(
Icons.add,
color: Colors.white,
size: 32,
),
)
您必须提供恰好 8 个 blob。这是由于 flutter 着色器支持的当前限制
此存储库的示例文件夹中提供了一个示例。
自定义
blob 是通过多个相互吸引的粒子生成的。一个着色器计算画布上每个像素的粒子之间的能量。
您可以通过组合 8 个粒子来自定义您的 blob 效果。
此包中有 3 种粒子(欢迎您创建自己的或建议一些?)
- BasicParticle (随机向一个方向移动,碰到边框时会弹向另一边)
- EjectedParticle (在中心生成并随机向外扩散。一旦碰到边框,它会在中心重新生成)
- RotatingParticle (在中心圆周上随机移动。)
工作原理
// 即将推出
附加信息
- ? 欢迎贡献或想法
- ? 我在学习着色器工作原理的过程中创建了这个包。我总是乐于学习新事物。请随时提出任何改进建议,我非常喜欢。
社交
您可以在以下位置找到我:Twitter 上的 @mcflyDev

