flutter/examples/layers
Greg Spencer ab2b0851a2
Add smoke tests for all the examples, fix 17 broken examples. (#89021)
This adds a smoke test for every single API example. It also fixes 17 tests that had bugs in them, or were otherwise broken, and even fixes one actual bug in the framework, and one limitation in the framework.

The bug in the framework is that NetworkImage's _loadAsync method had await response.drain<List<int>>();, but if the response is null, it will throw a cryptic exception saying that Null can't be assigned to List<int>. The fix was just to use await response.drain<void>(); instead.

The limitation is that RelativePositionedTransition takes an Animation<Rect> rect parameter, and if you want to use a RectTween with it, the value emitted there is Rect?, and one of the examples was just casting from Animation<Rect> to Animation<Rect?>, which is invalid, so I modified RelativePositionedTransition to take a Rect? and just use Rect.zero if the rect is null.
2021-09-28 09:32:06 -07:00
..
android [gradle] Unlock all configurations if a local engine is used (#83635) 2021-06-01 13:19:03 -07:00
ios Migrate iOS project to Xcode 13 compatibility (#90304) 2021-09-22 13:23:05 -07:00
lib License update (#45373) 2019-11-27 15:04:02 -08:00
raw Reland remove DefaultShaderWarmup (#88455) 2021-08-18 21:37:03 -07:00
rendering Reland "Dispose render objects when owning element is unmounted. (#82883)" (#83790) (#83920) 2021-06-07 18:39:02 -07:00
services Revert "Clean up the bindings APIs (#86438)" (#86484) 2021-07-15 09:29:16 -07:00
test Reland remove DefaultShaderWarmup (#88455) 2021-08-18 21:37:03 -07:00
widgets Revert "Clean up the bindings APIs (#86438)" (#86484) 2021-07-15 09:29:16 -07:00
pubspec.yaml Add smoke tests for all the examples, fix 17 broken examples. (#89021) 2021-09-28 09:32:06 -07:00
README.md ✒ Spell Check All .md Files Related to Flutter 💙 (#61564) 2020-07-22 18:23:47 -07:00

Examples of Flutter's layered architecture

This directory contains several self-contained examples that illustrate Flutter's layered architecture.

  • raw/ These examples show how to program against the lowest layer of the system. They manually receive input packets and construct composited scenes.

  • rendering/ These examples use Flutter's render tree to structure your app using a retained tree of visual objects. These objects coordinate to determine their size and position on screen and to handle events.

  • widgets/ These examples use Flutter's widgets to build more elaborate apps using a reactive framework.

  • services/ These examples use services available in Flutter to interact with the host platform.

To run each example, specify the demo file on the flutter run command line, for example:

flutter run raw/spinning_square.dart
flutter run rendering/spinning_square.dart
flutter run widgets/spinning_square.dart