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
Maybe SafeArea() should take this into account and only draw widgets within the safe area of the device (i.e. not placing widgets in both sides for safer back gesture).
Reacted by Audrius Karosevicius, Koen Van Looveren, Denys Rudenko and Finn Sinclair
I am not sure if Flutter team is even aware what is going to happen when next android stable version going to be released in a few months (~3 months)... Users with new android version will not be able to open Drawers, BottomSheets, change slider values from the edge of screen. So partially Flutter apps will be broken.
I hope that I am mistaken and Flutter team is already working on adapting Material widgets to work with Gesture Navigation. Because not much time left and from my understanding this is not trivial task to implement this correctly.
Reacted by Ufuk94, Emrah Bilbay, Adam Ahrens, creativecreatorormaybenot, Marcel Garus and Michael Pfaff
@audkar We're aware of the changes and will link to PRs that address them here.
Apps need to be informed about Q's gesture navigation insets (as well as the "mandatory" vertical ones), they need to be able to disable the left/right back gesture support, and extend apps full-screen. We've asked for some feedback from the Material Design team about how to handle a scaffold's drawer when back gesture is in effect.
Reacted by creativecreatorormaybenot, Emrah Bilbay, TheJulianJES, jongkb and Michael Pfaff
Hi all, I'm currently working on getting Flutter to handle Android Q Gestural Navigation. I'm going to list out the different tasks that need to be completed to help myself keep track of progress and what else needs to be done. This will also help if I missed anything:
Expose insets.systemGestureInsets on MediaQuery.of(context).systemGestureInsets
This allows developers to place draggable widgets outside of the system gesture insets
Expose setSystemGestureExclusionRects API
This allows developers to change remove gestures from non-mandatory insets. After exposing the API to the framework, the next step would be to create a convenience widget that sends wraps itself in the exclusion rect.
Expose getSystemGestureExclusionRects API
Conversely, it would be good to have a way to query what system gesture exclusion rects have been set.
Expose insets.mandatorySystemGestureInsets on MediaQuery.of(context).mandatorySystemGestureInsets
This provides information regarding gesture insets that cannot be removed to the framework, if it is needed.
Reacted by PieterAelse, Taym Haddadi, creativecreatorormaybenot, Daniel Wulff, Levi Lesches, mono — Masayuki Ono, Vasya Styagov, Alexander Skvortsov and A. Şemsettin Özdemirden
@HansMuller so Android 10 stable is officially released. What would be flutter team recommendations for Flutter apps which navigation is based on NavigationDrawer? My app is unusable now...
I've moved the items in my original comment over to its own issue (see #39858) to help others easily find the work that needs to be done. I will close this in favor of the other issue.
What is the status on this? As of November 2020, there is still no way to do proper draw-behind-the-navbar Android Q-style rendering with Flutter. This is really important!
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
miguelcmedeiros commentedon May 15, 2019
@filiph, can you please label this issue with customer:solaris?
Zazo032 commentedon May 15, 2019
Maybe
SafeArea()should take this into account and only draw widgets within the safe area of the device (i.e. not placing widgets in both sides for safer back gesture).audkar commentedon May 20, 2019
also Drawer
Would be very good if this could be addressed before Android Q stable is released and users start using gesture navigation
audkar commentedon May 30, 2019
@filiph IMHO customer also is a crowd :)
I am not sure if Flutter team is even aware what is going to happen when next android stable version going to be released in a few months (~3 months)... Users with new android version will not be able to open Drawers, BottomSheets, change slider values from the edge of screen. So partially Flutter apps will be broken.
I hope that I am mistaken and Flutter team is already working on adapting Material widgets to work with Gesture Navigation. Because not much time left and from my understanding this is not trivial task to implement this correctly.
eseidelGoogle commentedon Jul 1, 2019
@HansMuller is probably the best to comment here. Thanks!
HansMuller commentedon Jul 1, 2019
@audkar We're aware of the changes and will link to PRs that address them here.
Apps need to be informed about Q's gesture navigation insets (as well as the "mandatory" vertical ones), they need to be able to disable the left/right back gesture support, and extend apps full-screen. We've asked for some feedback from the Material Design team about how to handle a scaffold's drawer when back gesture is in effect.
Zazo032 commentedon Jul 2, 2019
This is going to be tweaked a bit in the upcoming Android Q beta 5: https://twitter.com/chrisbanes/status/1146050918892412928
HansMuller commentedon Jul 2, 2019
@Zazo032 - right, opening the drawer upon long-press-then-swipe is consistent with the "new features" item here: https://developer.android.com/jetpack/androidx/releases/drawerlayout
PieterAelse commentedon Jul 3, 2019
https://www.androidpolice.com/2019/07/03/android-q-beta-5-gesture-nav-side-menu/
7 remaining items
shihaohong commentedon Aug 13, 2019
Hi all, I'm currently working on getting Flutter to handle Android Q Gestural Navigation. I'm going to list out the different tasks that need to be completed to help myself keep track of progress and what else needs to be done. This will also help if I missed anything:
This allows developers to place draggable widgets outside of the system gesture insets
This allows developers to change remove gestures from non-mandatory insets. After exposing the API to the framework, the next step would be to create a convenience widget that sends wraps itself in the exclusion rect.
Conversely, it would be good to have a way to query what system gesture exclusion rects have been set.
This provides information regarding gesture insets that cannot be removed to the framework, if it is needed.
There is some tricky logic in the engine that sets
MediaQueryData.viewInsetsandMediaQueryData.paddingto be zero to handle keyboards/hidden nav bar(Keyboard inset detection heuristic to distinguish when to include bottom inset. flutter-team-archive/engine#6288). We will need to provide the unchanged systemWindowInset values Android provides.danwulff commentedon Sep 3, 2019
Android 10 is now released: https://twitter.com/Android/status/1168935724655218691
I'm really hoping the above changes can be completed relatively soon.
audkar commentedon Sep 3, 2019
@HansMuller so Android 10 stable is officially released. What would be flutter team recommendations for Flutter apps which navigation is based on NavigationDrawer? My app is unusable now...
HansMuller commentedon Sep 3, 2019
@audkar The app drawer should still open with a long-press swipe and with its appbar button. Why is your app unusable?
audkar commentedon Sep 3, 2019
Yes, sorry. Was trying on old emulator which didn't had long-press.
shihaohong commentedon Sep 5, 2019
I've moved the items in my original comment over to its own issue (see #39858) to help others easily find the work that needs to be done. I will close this in favor of the other issue.
Zee2 commentedon Nov 7, 2020
What is the status on this? As of November 2020, there is still no way to do proper draw-behind-the-navbar Android Q-style rendering with Flutter. This is really important!
cstmth commentedon Jun 23, 2021
The issue with the Drawer is still not resolved. There is a workaround though:
Scaffold( drawer: Drawer(), drawerEdgeDragWidth: MediaQuery.of(context).size.width, // ... )This allows swiping from the entire screen width.
github-actions commentedon Jul 31, 2021
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.