You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Recently flutter got official android edge-to-edge support for android (#81303). But its not enabled by default even though edge-to-edge is considered to be the new default way of developing modern android applications.
Changing edge-to-edge to be the default behaviour would make all flutter applications look much more modern without the need of specifically opting in, which is something many people would forget to do, or don't even know about.
Also viewInsets.bottom animated with lags when keyboard start showing and this cause lags on all screens with text fields in bottom of the screen (chat, etc)
Did anyone try SystemChrome.setEnabledSystemUIMode(SystemUiMode.edgeToEdge); on Android SDK 16 - 19?
For me, a BottomNavigationBar completely merges underneath the Android navigation bar.
I'd assume that (like in SDK 21+) the navigation bar renders on top but the "SafeArea" padding at the bottom is increased to accommodate the Android navigation bar.
FYI to the iOS team because edge-to-edge mode is used by default on iOS and completing this to better align with iOS and Android moving forward will make this consistent across the two platforms.
Reacted by Jenn Magder, Shubham Singh and Shubham Singh
Reacted by LouiseHsu, Shubham Singh, emmathedev and Shubham Singh
Android is enforcing edge-to-edge mode by default for Android apps that target Android 15+. Flutter updated the default target SDK version to 35 in #153795, effectively opting in apps running on Android 15+ devices into edge-to-edge by default. In this way, we have aligned Flutter Android apps on devices running Android 15+ with Flutter iOS apps by making edge-to-edge the default mode, effectively addressing this issue.
What we also considered
We considered enforcing edge-to-edge modes on devices it is available on (API 29+), but this would make it hard for developers to also design for API < 29 devices where it is not available.
We also considered enforcing edge-to-edge mode for devices running some API >= 29, but having edge-to-edge be the default and still allowing for opt outs (see migration guide) keeps us aligned with Android's timeline for edge-to-edge, which notably is allowing opt outs to give developers time to migrate.
After talking with the team, we've decided that the priority for this task was publishing a migration guide for folks wishing to use a non edge-to-edge mode (done, see https://docs.flutter.dev/release/breaking-changes/default-systemuimode-edge-to-edge). Documentation on how to migrate design-wise is a nice to have and this issue shouldn't depend on it, so I'm going to close this issue as complete!
This thread has been automatically locked since there has not been any recent activity after it was closed. If you are still experiencing a similar issue, please open a new bug, including the output of flutter doctor -v and a minimal reproduction of the issue.
Activity
LasseRosenow commentedon Jul 11, 2021
@Piinks I guess you would be the correct person to ping regarding this demand :)
[-]Edge-To-Edge by default[/-][+]Edge-To-Edge by default on android[/+]Piinks commentedon Jul 12, 2021
Thanks for reporting! I did not know edge to edge was the default. We'll just need to see if making that change is breaking first. :)
hectorAguero commentedon Jul 13, 2021
@Piinks I have two problems with the implementation of Edge to Edge support.
SystemUiMode.edgeToEdgeI need to setsystemNavigationBarColor: Colors.transparent, because without that EdgetoEdge don't workEdgeToEdge broke in some way Android Native Splash Screen in xml, I create a new project and set a flutter logo image in the center, when I enable edgeToEdge on flutter side the logo go down, this not happen more in flutter 2.5 if I delete theio.flutter.embedding.android.SplashScreenDrawablefrom the androidmanifest as said here at the end https://flutter.dev/docs/development/ui/advanced/splash-screen#migrating-from-manifest--activity-defined-custom-splash-screensBut this issue #64001 still happens.
NaikSoftware commentedon Jul 28, 2021
Also viewInsets.bottom animated with lags when keyboard start showing and this cause lags on all screens with text fields in bottom of the screen (chat, etc)
TheJulianJES commentedon Sep 9, 2021
Did anyone try
SystemChrome.setEnabledSystemUIMode(SystemUiMode.edgeToEdge);on Android SDK 16 - 19?For me, a BottomNavigationBar completely merges underneath the Android navigation bar.
I'd assume that (like in SDK 21+) the navigation bar renders on top but the "SafeArea" padding at the bottom is increased to accommodate the Android navigation bar.
20 remaining items
camsim99 commentedon Jun 13, 2024
Bumping this in priority as this will round out the work to support changes coming to edge-to-edge in Android 15.
camsim99 commentedon Jun 17, 2024
FYI to the iOS team because edge-to-edge mode is used by default on iOS and completing this to better align with iOS and Android moving forward will make this consistent across the two platforms.
camsim99 commentedon Sep 11, 2024
Some updates here...
What has been done
Android is enforcing edge-to-edge mode by default for Android apps that target Android 15+. Flutter updated the default target SDK version to 35 in #153795, effectively opting in apps running on Android 15+ devices into edge-to-edge by default. In this way, we have aligned Flutter Android apps on devices running Android 15+ with Flutter iOS apps by making edge-to-edge the default mode, effectively addressing this issue.
What we also considered
We considered enforcing edge-to-edge modes on devices it is available on (API 29+), but this would make it hard for developers to also design for API < 29 devices where it is not available.
We also considered enforcing edge-to-edge mode for devices running some API >= 29, but having edge-to-edge be the default and still allowing for opt outs (see migration guide) keeps us aligned with Android's timeline for edge-to-edge, which notably is allowing opt outs to give developers time to migrate.
What's left to do
SystemUiModedocumentation to reflect edge-to-edge as the default mode and update template counter app to use edge-to-edge #150367: We plan to update theSystemUiModedocumentation to state edge-to-edge as the default on Android 15+.cc @reidbaker if you have any further thoughts from our offline discussion
camsim99 commentedon Oct 2, 2024
After talking with the team, we've decided that the priority for this task was publishing a migration guide for folks wishing to use a non edge-to-edge mode (done, see https://docs.flutter.dev/release/breaking-changes/default-systemuimode-edge-to-edge). Documentation on how to migrate design-wise is a nice to have and this issue shouldn't depend on it, so I'm going to close this issue as complete!
github-actions commentedon Oct 16, 2024
This thread has been automatically locked since there has not been any recent activity after it was closed. If you are still experiencing a similar issue, please open a new bug, including the output of
flutter doctor -vand a minimal reproduction of the issue.