All Projects → letsar → flutter_scatter

letsar / flutter_scatter

Licence: MIT license
A widget that displays a collection of dispersed and non-overlapping children

Programming Languages

dart
5743 projects
objective c
16641 projects - #2 most used programming language
java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to flutter scatter

CustomSwitch
Custom Switch package created in Flutter
Stars: ✭ 56 (-34.12%)
Mutual labels:  flutter-widget, flutter-package
overflow view
A widget displaying children in a line until there is not enough space and showing a the number of children not rendered.
Stars: ✭ 136 (+60%)
Mutual labels:  flutter-widget, flutter-package
Flutter-Apps
🌀 This is mainly focus on a complete application for production
Stars: ✭ 18 (-78.82%)
Mutual labels:  flutter-widget, flutter-package
shimmer animation
This shimmer animation widget can help you bring simple yet beautiful skeleton loaders to your flutter app with ease.
Stars: ✭ 29 (-65.88%)
Mutual labels:  flutter-widget, flutter-package
nil
A simple Flutter widget to add in the widget tree when you want to show nothing, with minimal impact on performance.
Stars: ✭ 130 (+52.94%)
Mutual labels:  flutter-widget, flutter-package
sliding panel
A Flutter slidable widget that provides an easy to use configuration. Highly customisable. Just as you want it!
Stars: ✭ 88 (+3.53%)
Mutual labels:  flutter-widget, flutter-package
flutter-app
Full Feature Todos Flutter Mobile app with fireStore integration.
Stars: ✭ 138 (+62.35%)
Mutual labels:  flutter-widget, flutter-package
swipedetector
A Flutter package to detect up, down, left, right swipes.
Stars: ✭ 34 (-60%)
Mutual labels:  flutter-widget, flutter-package
bottom animation
Bottom Navigation Mixed Animation
Stars: ✭ 32 (-62.35%)
Mutual labels:  flutter-widget, flutter-package
flutter sliding tutorial
User onboarding library with smooth animation of objects and background colors
Stars: ✭ 127 (+49.41%)
Mutual labels:  flutter-widget, flutter-package
Interactive-Add-Button-Layout
Custom Layout with interactive add button to impove your UI and UX .
Stars: ✭ 20 (-76.47%)
Mutual labels:  flutter-widget, flutter-package
barcode.flutter
barcode generate library for Flutter
Stars: ✭ 58 (-31.76%)
Mutual labels:  flutter-widget, flutter-package
juxtapose
A flutter widget for comparing two stacked widgets by dragging a slider thumb to reveal either sides of the slider horizontally or vertically.
Stars: ✭ 75 (-11.76%)
Mutual labels:  flutter-widget, flutter-package
seo renderer
A Flutter Web Plugin to display Text Widget as Html for SEO purpose
Stars: ✭ 103 (+21.18%)
Mutual labels:  flutter-widget, flutter-package
survey kit
Flutter library to create beautiful surveys (aligned with ResearchKit on iOS)
Stars: ✭ 68 (-20%)
Mutual labels:  flutter-widget, flutter-package
progressive image
A flutter widget that progressively loads large images using Low-Quality Image Placeholders.
Stars: ✭ 28 (-67.06%)
Mutual labels:  flutter-widget, flutter-package
buttons tabbar
A Flutter package that implements a TabBar where each label is a toggle button.
Stars: ✭ 49 (-42.35%)
Mutual labels:  flutter-widget, flutter-package
flex color scheme
A Flutter package to make and use beautiful color scheme based themes.
Stars: ✭ 370 (+335.29%)
Mutual labels:  flutter-widget, flutter-package
flutter-UI
将Flutter各种Widget各种API📘都实现一次。喜欢请Star。
Stars: ✭ 67 (-21.18%)
Mutual labels:  flutter-widget, flutter-package
flutter easyloading
✨A clean and lightweight loading/toast widget for Flutter, easy to use without context, support iOS、Android and Web
Stars: ✭ 1,021 (+1101.18%)
Mutual labels:  flutter-widget, flutter-package

flutter_scatter

A widget that displays a collection of dispersed and non-overlapping children.

Pub Donate

Can be used to create word clouds: Word Cloud

Features

  • Built-in delegates (Spirals, Align, Ellipse).
  • Allow you to specify how to align chlidren.

Getting started

In the pubspec.yaml of your flutter project, add the following dependency: The latest version is Pub

dependencies:
  ...
  flutter_scatter: ^latest_version

In your library add the following import:

import 'package:flutter_scatter/flutter_scatter.dart';

For help getting started with Flutter, view the online documentation.

Widgets

You can simply create a Scatter by providing a delegate and a list of widgets.

The delegate is responsible for computing positions. For example if you want to position your widgets on a circle, you will use the EllipseScatterDelegate:

return Center(
    child: Scatter(
    delegate: EllipseScatterDelegate(
        a: 185.0,
        b: 185.0,
        step: 1.0 / count,
    ),
    children: widgets,
    ),
);

Ellipse

It may be useful to choose how children are aligned with the computed positions. By default, the center of the widgets will be placed on the positions generated by the delegate. If you want to be left aligned, you will change the alignment argument of the Scatter to be Alignment.topLeft.

By default, the Scatter will not try to fill gaps (for performance reasons). You can override this behavior by setting the fillGaps argument to true.

For example this is what the above word cloud would look if the fillGaps argument would be set to false: fillGaps to false

Delegates

Scatter has built-in delegates which can be highly parameterized:

Spirals

  • ArchimedeanSpiralScatterDelegate
  • FermatSpiralScatterDelegate
  • LogarithmicSpiralScatterDelegate

Spirals

Alignments

  • AlignScatterDelegate

Alignments

Ellipses

  • EllipseScatterDelegate

Ellipses

Examples

You can find more examples in this app.

Changelog

Please see the Changelog page to know what's recently changed.

Contributions

Feel free to contribute to this project.

If you find a bug or want a feature, but don't know how to fix/implement it, please fill an issue.
If you fixed a bug or implemented a new feature, please send a pull request.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].