Bruno Leroux de3f804590
Normalize input decoration theme (#168981)
This PR is to make `InputDecorationTheme` conform to Flutter Material's
conventions for component themes:

- Added a `InputDecorationThemeData` class which defines overrides for
the defaults for `InputDecorator` properties.
- Added `InputDecorationTheme` constructor parameters:
`InputDecorationThemeData? data` and `Widget? child`. This is now the
preferred way to configure a `InputDecorationTheme`:

```dart
InputDecorationTheme(
	data: InputDecorationThemeData(
	    filled: true,
	    fillColor: Colors.amber,
	    ...
	  ),
  	child: const TextField()
)
```
These two properties are made nullable to not break existing apps which
has customized `ThemeData.inputDecorationTheme`.

- Update `InputDecorationTheme` to be an `InheritedTheme` subclass.
- Changed the type of component theme defaults from
`InputDecorationTheme` to `InputDecorationThemeData`.
- Changed the `InputDecorationTheme bottomAppBarTheme` property to
`Object? bottomAppBarTheme` in `ThemeData` and `ThemeData.copyWith()`
(Object? is used for the moment to minimize Google tests failure. A
follow-up PR will replace `Object?` with `InputDecorationThemeData`.
- Addresses the "theme normalization" sub-project within #91772.

A migration guide will be created on website repo.
2025-06-21 23:02:13 +00:00
..
2024-12-19 20:06:21 +00:00
2025-06-03 08:48:14 +00:00

Flutter Gallery

NOTE: The Flutter Gallery is now deprecated, and no longer being active maintained.

Flutter Gallery was a resource to help developers evaluate and use Flutter. It is now being used primarily for testing. For posterity, the web version remains hosted here.

We recommend Flutter developers check out the following resources:

  • Wonderous (web demo, App Store, Google Play, source code):
    A Flutter app that showcases Flutter's support for elegant design and rich animations.

  • Material 3 Demo (web demo, source code):
    A Flutter app that showcases Material 3 features in the Flutter Material library.

  • Flutter Samples (samples, source code):
    A collection of open source samples that illustrate best practices for Flutter.

  • Widget catalogs (Material, Cupertino):
    Catalogs for Material, Cupertino, and other widgets available for use in UI.