You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
samples/gallery
Pierre-Louis 792f3aac5e
Fix Crane search bar margin (#350)
5 years ago
..
android [Gallery] Fix directory structure (#312) 5 years ago
assets [Gallery] Bring in Fortnightly banner (#317) 5 years ago
fonts [Gallery] Update desktop Rally for pages that did not have designs before (#314) 5 years ago
ios add web_dashboard API (#333) 5 years ago
lib Fix Crane search bar margin (#350) 5 years ago
linux [Gallery] Fix directory structure (#312) 5 years ago
macos [Gallery] Bring in latest translations (#329) 5 years ago
test [Gallery] Fix directory structure (#312) 5 years ago
tool [Gallery] Fix directory structure (#312) 5 years ago
web [Gallery] Fix directory structure (#312) 5 years ago
windows [Gallery] Fix directory structure (#312) 5 years ago
.gitignore [Gallery] Fix directory structure (#312) 5 years ago
.metadata [Gallery] Fix directory structure (#312) 5 years ago
README.md [Gallery] Update README with steps to create a release (#327) 5 years ago
analysis_options.yaml [Gallery] Fix directory structure (#312) 5 years ago
pubspec.lock add web_dashboard API (#333) 5 years ago
pubspec.yaml Update cupertino_icons: from 0.1.2 to 0.1.3 (#325) 5 years ago
screenshots.md Add screenshots, edit README (#319) 5 years ago

README.md

Flutter Gallery

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.

Flutter Gallery

Supported Platforms

Flutter Gallery has been built to support multiple platforms. This includes:

  • Android
  • iOS
  • web
  • macOS
  • Linux
  • Windows

That being said, extra steps must be taken to enable Desktop support. For example, to run the macOS app:

cd gallery/
flutter config --enable-macos-desktop
flutter create .
flutter run -d macos

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.

To include a new splash animation

  1. Convert your animation to a .gif file. Ideally, use a background color of 0xFF030303 to ensure the animation blends into the background of the app.

  2. Add your new .gif file to the assets directory under assets/splash_effects. Ensure the name follows the format splash_effect_$num.gif. The number should be the next number after the current largest number in the repository.

  3. 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.

Generating localized strings and highlighted code segments

To generate localized strings or highlighted code segments, make sure that you have grinder installed. You can install it by getting the packages in samples/gallery/:

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

Creating a new release (for Flutter org members)

  1. Bump the version number up in the pubspec.yaml. Use semantic versioning to determine which number to increment. For example 2.2.0+020200 should become 2.3.0+020300.

  2. Create a tag on the master branch of this repo in the form of gallery-v2.3.

    • git tag gallery-v2.3
    • git push --tags
  3. Publish the web release (using the peanut package).

    • flutter pub global activate peanut
    • flutter pub global run peanut:peanut
    • git push upstream gh-pages:gh-pages
      • git update-ref refs/heads/gh-pages upstream/gh-pages if you need to align with upstream.
  4. Publish the Android release (using 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).
  5. Draft a release in Github from the tag you created, call the release Flutter Gallery 2.3

    • Upload the Android APK from above.
    • Create and upload the macOS build by running flutter build macos and zipping the app inside build/macos/Build/Products/Release.
    • Optional: Create and upload the Linux/Windows builds.
    • Publish the release.