Unleash your creativity with presentations like never before! FlutterShow⚡️ is an easy-to-use framework built in Flutter for crafting engaging and interactive presentations.
Check out the full documentation showcasing all slides here: https://flutter-show-docs.vercel.app/#/
FlutterShow consists of two main packages: fluttershow_base
and fluttershow_keynote
:
- fluttershow_base contains most of the pre-built widgets that are used in
fluttershow_keynote
, but can also be used to make custom slides. - fluttershow_keynote is currently the default package and implements all basic slides with variations of the popular presentation software Keynote.
- The project utilizes riverpod hooks for state management, providing a simple and quick experience for managing your state.
- The project is designed to be easily expandable and customizable according to your preferences. You can switch libraries like
intl
toeasy_localizations
or usefluttergen
for asset organization.
To run your show, you can either use the pre-built launch.json
file or follow these commands:
# Get dependencies
$ flutter pub get
# If language files were not generated
$ flutter pub run intl_utils:generate
# Run the app (for example on macOS)
$ flutter run -d macos
- When you first explore the project, you'll find some sample slides that demonstrate how slides are built in this project.
- To create a new slide, add a new widget in the
lib/slides
directory. - Once you finish creating your slide, navigate to
lib/presentation/config/pages_of_presentation.dart
and add a new member to the enum using your new widget. - Reload the app, and your slide will appear in all its glory! 🔥
The Menu (Open using M key): Toggle dark/light mode depending on the location you are presenting at or quickly jump between your slides.
Most slides and prebuilt widgets can be animated for a smoother experience. Simply pass an animationIndex
parameter to enable animation on the desired slide or widget.
In addition to animating individual slides and widgets, you can also animate the transitions between slides. An example of slide transition animation can be found in lib/slides/03_motivation/view/motivation.dart
file.
You can easily rebind your keys for actions like navigating to the next or previous slide and opening the menu. Simply edit the actions in lib/presentation/config/key_actions.dart
.