Flutter Gallery is a resource to help developers evaluate and use Flutter. It is a collection of Material Design & Cupertino widgets, behaviors, and vignettes implemented with Flutter. We often get asked how one can see Flutter in action, and this gallery demonstrates what Flutter provides and how it behaves in the wild.
The Flutter Gallery targets Flutter's master channel. As such, it can take advantage of new SDK features that haven't landed in the stable channel.
If you'd like to run the Flutter Gallery, make sure to switch to the master channel first:
flutter channel master
flutter upgrade
When you're done, use this command to return to the safety of the stable channel:
flutter channel stable
flutter upgrade
Flutter Gallery has been built to support multiple platforms. This includes:
- Android
- iOS
- web
- macOS
- Linux
- Windows
An APK, macOS, Linux, and Windows builds are available for download. You can find it on the web at gallery.flutter.dev and on the Google Play Store.
You can build from source yourself for any of these platforms, though, please note desktop support must be enabled. For example, to run the app on Windows:
cd gallery/
flutter config --enable-windows-desktop
flutter create .
flutter run -d windows
Additionally, the UI adapts between mobile and desktop layouts regardless of the platform it runs on. This is determined based on window size as outlined in adaptive.dart.
-
Convert your animation to a
.gif
file. Ideally, use a background color of0xFF030303
to ensure the animation blends into the background of the app. -
Add your new
.gif
file to the assets directory underassets/splash_effects
. Ensure the name follows the formatsplash_effect_$num.gif
. The number should be the next number after the current largest number in the repository. -
Update the map
_effectDurations
in splash.dart to include the number of the new.gif
as well as its estimated duration. The duration is used to determine how long to display the splash animation at launch.
To generate localized strings or highlighted code segments, make sure that you have grinder installed by running
flutter pub get
To generate localized strings (see separate README for more details):
flutter pub run grinder l10n
To generate code segments (see separate README for more details):
flutter pub run grinder update-code-segments
-
Bump the version number up in the
pubspec.yaml
. Use semantic versioning to determine which number to increment. For example2.2.0+020200
should become2.3.0+020300
. -
Publish the firebase hosted web release.
- Log in to the account that has write access to
gallery-flutter-dev
withfirebase login
flutter web build
firebase deploy -P prod
to deploy to production (equivalent tofirebase deploy
).firebase deploy -P staging
to deploy to staging. Check with the team to see if the staging instance is currently used for a special purpose.
- Log in to the account that has write access to
-
Publish the Android release
- Ensure you have the correct signing certificates.
- Create the app bundle with
flutter build appbundle
. - Upload to the Play store console.
- Publish the Play store release.
- Create the APK with
flutter build apk
(this is for the Github release).
-
Draft a release in Github, calling the release
Flutter Gallery 2.x
- The tag should be
v2.x
and the targetmaster
. - Upload the Android APK from above.
- Create and upload the macOS build by running
flutter build macos
and zipping the app insidebuild/macos/Build/Products/Release
. - On a Linux machine, create and upload the Linux build by running
flutter build linux
and compress the contents ofbuild/linux/release/bundle
. - On a Windows machine, create and upload the Windows build by running
flutter build windows
and zipping the contents ofbuild/windows/release
. - Publish the release.
- The tag should be