flutter_blob 0.0.1 copy "flutter_blob: ^0.0.1" to clipboard
flutter_blob: ^0.0.1 copied to clipboard

A blob generator for flutter apps

Blob Flutter package #

Add fancy blobs to your flutter apps.
You can now imagine many usage of blobs into your app (button, loader, background...).

Features #

  • blob layout
  • blob button
  • customize your blob as you want

Roadmap #

  • improve documentation
  • migrate shader to umbra
  • shader: wait for flutter glsl int / array support
  • shader: wait for flutter glsl output support
  • shader: create a gradient version
  • button: add push effects
  • button: provide custom method to let user create it's own on push effects

Getting started #

install the flutter_blob package.

Usage #

Layout #

BlobLayout.from(
    blobs: myBlobsList,
    blobsColor: Colors.blue,
)

or using the builder function (recommended)

BlobLayout.builder(
    builder: (Size areaSize) => [
        RotatingBloB.random(area),
        RotatingBloB.random(area),
        RotatingBloB.random(area),
        RotatingBloB.random(area),
        RotatingBloB.random(area),
        RotatingBloB.random(area),
        RotatingBloB.random(area),
        RotatingBloB.random(area),
    ],
    blobsColor: Colors.blue,
)

You must provide exactly 8 blob This is due to a current limitation of the flutter shader support

An example is available in the example folder of this repository.

Button #

For now buttons only support icon.

BlobButton.bouncing(
    onTap: () => print("do w/e you want"),
    backgroundColor: Colors.amber[900],
    icon: Icon(
        Icons.add,
        color: Colors.white,
        size: 32,
    ),
)

You must provide exactly 8 blob This is due to a current limitation of the flutter shader support

An example is available in the example folder of this repository.

Customize #

The blob is generated using multiple particles that attracts each others.
A shader calculate the energy between those particles for each pixel of a canvas.

You can customize your blob effects combining 8 particles.
The is 3 types of particles available in this package (feel free to create yours or suggest some 👍)

  • BasicParticle
    (randomly goes on one way and when touch a border bounce to the other side)
  • EjectedParticle
    (Generated on the center and randomly goes out. Once it touch a border, it's generated on the center again)
  • RotatingParticle
    (randomly move in a circle around the center.)

How it works #

// coming soon

Additional information #

  • 👌 contributions or ideas accepted
  • 🤝 I made this package learning how shaders works.
    I'm always open to learn new things.
    Don't hesitate suggesting any improvement, I love it.

Social #

You can reach me on:
@mcflyDev on twitter

11
likes
70
pub points
73%
popularity

Publisher

unverified uploader

A blob generator for flutter apps

Repository (GitHub)
View/report issues

Documentation

API reference

License

MIT (LICENSE)

Dependencies

flutter, vector_math

More

Packages that depend on flutter_blob