Is it possible to create a Dialog in Flutter that stays on top, even if Navigator.of(context).push() is called?
Related
I've looked through many tutorials for the side nav drawer. I can create one that works fine to lead to different pages. However, when I travel to a page that's different from home, it only gives me the arrow icon to go back to home at the top left instead of keeping the button to bring me back to the side navbar. How can I prevent this?
I can't use the home page to navigate everywhere because it's just supposed to be a blank splash screen.
You can define your drawer in a separate widget file, that you can import everywhere you have a scafold.
I created a package for it because I was missing similar functionality. If you want a Flutter approach for this navigation check out: https://api.flutter.dev/flutter/material/NavigationRail-class.html
Or if you want to have a look at my package: https://pub.dev/packages/side_navigation
It's because you're moving to a new page/Scaffold (probably using Navigator.push()). So, the default button in the AppBar will be the back button.
You can either have the same Drawer in every Scaffold you navigate to, which is not recommended since you'll just keep pushing routes to the navigation stack.
Or, you can change pages within the Scaffold. Check the interactive examples in BottomNavigationBar and NavigationRail to get an idea of how to do it. Basically instead of calling Navigator.push() when a tile in Drawer is tapped, just update the selected index and call setState().
Please see the photos attached for the feature, or simply head to https://www.chrislorenzomusic.com and resize the window until you see the dropdown menu in top right corner appears and click on the menu to see the effect.
I'm not sure what this effect or feature is called, but was wondering what it's called and if it was possible to make something similar in flutter?
Before resizing the window
After resizing window the menu at top right corner appears
When clicking on the menu
When an app or widget behaves differently depending on the screen size or orientation it is considered responsive or has a responsive layout.
https://docs.flutter.dev/development/ui/layout/adaptive-responsive
The Menu itself can be created using a Scaffold with an AppBar and a Drawer. You can configure the AppBar to have the menu icon or the links depending on the size using LayoutBuilder and MediaQuery.of.
AppBar
https://material.io/components/app-bars-top
Drawer
https://material.io/components/navigation-drawer
I tried a bottom navigation bar with Floating Action button as in the following link
https://codewithandrea.com/articles/2018-09-13-bottom-bar-navigation-with-fab/
It works well but when I move to next screen the floating button gets displayed and its funtion's are still working
I found a same type of issue(question) but no answer
Flutter - FloatingActionButton isn't shown after going back a screen
how to block the floating button visibility in upcoming screens
please put your code. I am not aware of this problem but if you don't want it to be visible in a specific screen you can do so for example
_currentIndex==2? FloatingActionButton():Container()
I'm trying to hide the status bar as soon as the drawer opens just like the google maps app on iOS.
Also, can I change the height of drawer header? Right now it's taking a third of the drawer itself.
Cheers
I'm asking how to disable Overlays to move when a Scaffold.of(context).showSnackBar is called like on my video below.
The same thing is happening when the keyboard appear. Sometime the blue floattingButton (+) don't come back to it's original position :-(
Thx in advance.
Problem animation
The FloatingActionButton going up when the Scaffold is displayed is something common to all default implementations.
Give a look to the "Bootom app bar" demo in the Gallery app. Press on the search button and you will see it coming up. Or just add a Scaffold to the app that is built with flutter create command.
This happens because of the way the FAB button is placed on the screen and the effect of displaying the Snackbar by the Scaffold.
The FAB button is displayed at the bottom of the content area of the Scaffold content. When the content area is shrinked to include the BottomAppBar, the FAB goes up with it. It has nothing to do with Overlay.
You have two options:
Either you create your own versiĆ³n of the FAB which is not
controlled by the Scaffold.
Or you hack the Scaffold so the size of the SnackBar is not taken
into account.
For this second option you can try the following:
Go to the file /lib/src/material/scaffold.dart in your flutter installation and look for the line with the code snackBarSize: snackBarSize, inside the _ScaffoldLayout class.
Replace it with snackBarSize: Size(0.0, 0.0),
You will see that the FAB stays in its place.