protory 0.0.7

  • Readme
  • Changelog
  • Example
  • Installing
  • 34

Fluttery #

A Flutter package that helps with prototyping.

Framing #

Helps with framing user interfaces. For example:

RandomColorBlock is a Container that paints itself with a random color. This way a developer can quickly frame out a user interface with regard to positioning and sizing without worrying about the final Widgets.

Layout #

Various layout Widgets and tools that are not available in the Flutter framework.

For example:

CenterAbout positions a child Widget such that the child is centered at the given Offset. It needs to be used in a Stack.

OverlayBuilder displays a built Widget in the app's Overlay.

AnchoredOverlay is similar to OverlayBuilder except that it also provides an anchor Offset that is calculated to be at the center of the AnchoredOverlay. This allows you to easily stick Widgets on top of other Widgets. For example: popovers.

Gestures #

Radial Drag Gesture Detector #

Detect dragging motion with polar coordinates using RadialDragGestureDetector in fluttery:gestures. It's a gesture detector that reports like a dial about the center of the child Widget.

Animations #

AnimationPlayer #

Fine-tune your multi-phase animations with an AnimationPlayer. An AnimationPlayer provides controls to play Phases forward and backward at a speed of your choice. This helps a developer carefully craft the correct effect in the animation.

[0.0.7] - May 31, 2018. #

  • Changed AnchoredOverlay to report its anchor's bounds in addition to the anchor's center.

[0.0.6] - May 11, 2018. #

  • Added CenterAbout Widget to center a child at a given Offset position.
  • Added OverlayBuilder Widget that uses a provided WidgetBuilder to construct and display an overlay.
  • Added AnchoredOverlay Widget that uses a provided builder to construct an overlay directly above another Widget.

[0.0.5] - March 22, 2018. #

  • Bug fixes for AnimationPlayer.

[0.0.4] - March 22, 2018. #

  • Updated AnimationPlayer to work with user input and other outside signals while still manually controlling an animation.
  • Removed the print() statements from AnimationPlayer.

[0.0.3] - March 19, 2018. #

  • Added AnimationPlayer under fluttery:animations.

[0.0.2] - March 4, 2018. #

  • Added RadialDragGestureDetector under fluttery:gestures.

[0.0.1] - March 4, 2018. #

  • Initial release: Includes RandomColor and RandomColorBlock.


import 'package:example/directory_screen.dart';
import 'package:example/example_animation_player.dart';
import 'package:example/example_framing.dart';
import 'package:example/example_layout_overlay.dart';
import 'package:example/example_radial_drag.dart';
import 'package:flutter/material.dart';

void main() => runApp(new MyApp());

class MyApp extends StatelessWidget {
  Widget build(BuildContext context) {
    return new MaterialApp(
      title: 'Fluttery Example',
      theme: new ThemeData(
      routes: {
        '/': (context) => new Page(
          child: new DirectoryScreen(),
        '/randomColorBlock': (context) => new Page(
          child: new RandomColorBlockExampleScreen(),
        '/layoutOverlay': (context) => new Page(
          child: new LayoutOverlayExampleScreen(),
        '/radialDrag': (context) => new Page(
          child: new RadialDragExampleScreen(),
        '/animationPlayer': (context) => new Page(
          child: new AnimationPlayerExampleScreen(),

class Page extends StatefulWidget {

  final child;


  _PageState createState() => new _PageState();

class _PageState extends State<Page> {
  Widget build(BuildContext context) {
    return new Scaffold(
      appBar: new AppBar(
        title: new Text('Fluttery'),
      body: widget.child,

Use this package as a library

1. Depend on it

Add this to your package's pubspec.yaml file:

  protory: ^0.0.7

2. Install it

You can install packages from the command line:

with Flutter:

$ flutter pub get

Alternatively, your editor might support flutter pub get. Check the docs for your editor to learn more.

3. Import it

Now in your Dart code, you can use:

import 'package:protory/animations.dart';
import 'package:protory/framing.dart';
import 'package:protory/gestures.dart';
import 'package:protory/layout.dart';
Describes how popular the package is relative to other packages. [more]
Code health derived from static analysis. [more]
Reflects how tidy and up-to-date the package is. [more]
Weighted score of the above. [more]
Learn more about scoring.

We analyzed this package on Jul 7, 2020, and provided a score, details, and suggestions below. Analysis was completed with status completed using:

  • Dart: 2.8.4
  • pana: 0.13.13
  • Flutter: 1.17.5

Analysis suggestions

Package not compatible with SDK dart

because of import path [protory] that is in a package requiring null.

Health suggestions

Format lib/animations.dart.

Run flutter format to format lib/animations.dart.

Format lib/framing.dart.

Run flutter format to format lib/framing.dart.

Format lib/gestures.dart.

Run flutter format to format lib/gestures.dart.

Fix additional 5 files with analysis or formatting issues.

Additional issues in the following files:

  • lib/layout.dart (Run flutter format to format lib/layout.dart.)
  • lib/src/animation_player.dart (Run flutter format to format lib/src/animation_player.dart.)
  • lib/src/layout_core.dart (Run flutter format to format lib/src/layout_core.dart.)
  • lib/src/layout_overlays.dart (Run flutter format to format lib/src/layout_overlays.dart.)
  • lib/src/radial_drag_gesture_detector.dart (Run flutter format to format lib/src/radial_drag_gesture_detector.dart.)

Maintenance issues and suggestions

Homepage URL doesn't exist. (-20 points)

At the time of the analysis the homepage field was unreachable.

Package is getting outdated. (-80.82 points)

The package was last published 94 weeks ago.

The package description is too short. (-16 points)

Add more detail to the description field of pubspec.yaml. Use 60 to 180 characters to describe the package, what it does, and its target use case.

Package is pre-v0.1 release. (-10 points)

While nothing is inherently wrong with versions of 0.0.*, it might mean that the author is still experimenting with the general direction of the API.


Package Constraint Resolved Available
Direct dependencies
Dart SDK >=2.0.0 <3.0.0
flutter 0.0.0
Transitive dependencies
collection 1.14.12 1.14.13
meta 1.1.8 1.2.1
sky_engine 0.0.99
typed_data 1.1.6 1.2.0
vector_math 2.0.8
Dev dependencies
test ^0.12.0