drawably_flutter

Animated hand-drawn controls and decorations for Flutter. Sketches use deterministic seeded randomness and gently “boil” between three cached frames.

Early preview: the API may change before 1.0.0.

Features

  • Buttons with outline, solid, and scribble variants
  • Checkbox, radio, and toggle controls
  • Cards, badges, dividers, and text decorations
  • Reproducible sketches through DrawablyStyle.seed
  • App-wide styling with DrawablyTheme
  • Reduced-motion and keyboard accessibility support
  • No runtime dependencies beyond Flutter

Usage

import 'package:drawably_flutter/drawably_flutter.dart';

DrawablyTheme(
  data: const DrawablyStyle(
    strokeColor: Color(0xff173f5f),
    fillColor: Color(0xffffd166),
  ),
  child: DrawablyButton(
    variant: DrawablyButtonVariant.scribble,
    onPressed: () {},
    child: const Text('Create sketch'),
  ),
)

Set boil: 0 for a static sketch, or provide a seed for reproducible output. Reduced-motion settings automatically freeze the animation.

Attribution

This is an independent Flutter port inspired by Daniel Belyi's MIT-licensed Drawably JavaScript library. It is not an official upstream package.

License

MIT. The original Drawably copyright notice is preserved in LICENSE.

Libraries

drawably_flutter