
This PR replaces the ColoredBox that ListTile uses with an Ink widget. That Ink widget is given a ShapeDecoration with the ListTile's color and shape. This fixes issues where the ListTile color would obscure material ripple effects, and cause the specified shape to not be respected. List which issues are fixed by this PR. You must list at least one issue. Fixes #73616 Fixes #63877 Fixes #67117 If you had to change anything in the flutter/tests repo, include a link to the migration guide as per the breaking change policy. I modified a handful of tests related to ListTiles. The tests I changed had implementation-specific ways of checking the ListTile color. I have rewritten those so that instead of checking for a ColoredBox with a specific color, they check that a path is painted with the correct color. I added the following tests to list_tile_test.dart: "ListTile shows Material ripple effects on top of tileColor" (Regression test for #73616) "ListTile shape is painted correctly" (Regression test for #63877) I added the following test to sliver_prototype_item_extent_test.dart: "SliverPrototypeExtentList prototypeItem paint transform is zero" (Regression test for #67117)
Flutter is Google's SDK for crafting beautiful, fast user experiences for mobile, web, and desktop from a single codebase. Flutter works with existing code, is used by developers and organizations around the world, and is free and open source.
Documentation
For announcements about new releases and breaking changes, follow the flutter-announce@googlegroups.com mailing list or see the breaking changes page.
About Flutter
We think Flutter will help you create beautiful, fast apps, with a productive, extensible and open development model.
Beautiful user experiences
We want to enable designers to deliver their full creative vision without being forced to water it down due to limitations of the underlying framework. Flutter's layered architecture gives you control over every pixel on the screen and its powerful compositing capabilities let you overlay and animate graphics, video, text, and controls without limitation. Flutter includes a full set of widgets that deliver pixel-perfect experiences on both iOS and Android.
Fast results
Flutter is fast. It's powered by the same hardware-accelerated 2D graphics library that underpins Chrome and Android: Skia. We architected Flutter to support glitch-free, jank-free graphics at the native speed of your device. Flutter code is powered by the world-class Dart platform, which enables compilation to 32-bit and 64-bit ARM machine code for iOS and Android, as well as JavaScript for the web and Intel x64 for desktop devices.
Productive development
Flutter offers stateful hot reload, allowing you to make changes to your code and see the results instantly without restarting your app or losing its state.
Extensible and open model
Flutter works with any development tool (or none at all) but includes editor plug-ins for both Visual Studio Code and IntelliJ / Android Studio. Flutter provides thousands of packages to speed your development, regardless of your target platform. And accessing other native code is easy, with support for both FFI and platform-specific APIs.
Flutter is a fully open-source project, and we welcome contributions. Information on how to get started can be found at our contributor guide.