Multiple stacks with a persistent navigation bar? - flutter

I am trying to build an app using flutter that has a bottom navigation bar that remains in view through sub pages. Any help?
I'm very new to flutter and coding in general. I've been able to get a working material navigation bar that highlights the current page but when I push to another route on that page, the bar disappears. This convention would work for some areas of my app, but a few pages are 3 "layers" deep and I would like to keep the bar so the user maintains a sense of place.
From what I've researched, Cupertino's navigation bar allows for this but I would prefer accomplishing this with material bottom navigation and routing.
Here's a general look at what I'm trying to accomplish (minus login/splashpage/onboard/etc.)
Prototype showing the routing of my app
Thanks to anyone who can help!

Related

flutter: best way to implement inner navigation with bottom nav bar

I'm developing a flutter application and I'm now struggling to understand what is the best way to implement a complex bottom bar navigation.
Here are my requirements:
each button on the nav bar should lead to a different section
each section should be able to have multiple screens inside of it
user can navigate from any page of a section to any page in another section and back
each section should show the last visited page if we come back to it
for example, let's say we have two sections, each made of two pages: SectionOneA, SectionOneB, SectionTwoA, SectionTwoB.
A few use cases:
user navigates from SectionOneB to SectionTwoB by pressing a button inside SectionOneB, when user presses back (on android) from SectionTwoB, we should navigate back to SectionOneB
user navigates to SectionTwoA by the nav bar, then navigates to SectionTwoB via a button in SectionTwoA, then navigates to SectionOneA via the nav bar and then press the SectionTwo icon in the nav bar again. we should show SectionTwoB. if back is pressed we should navigate to SectionTwoA.
in both these examples, when moving from one section to another, the correct nav bar item should be highlighted.
I'm new to flutter so I'm learning as I go. For now, what I've done is using nav bar with PageViewer to switch from section to section, then each section uses a PageViewer to handle switching from page to page. This worked well until I had to implement the first usecase above, at this point it seems to me that it would be quite challenging to implment a proper navigation stack as demanded by the usecase and I feel it would be better to rethink the whole thing, only I've no idea what is the best way to approach this.
A temporary solution would be to also include SectionTwoB in the PageViewer of section one, but that would not allow me to highlight the proper nav bar item.
Any lead on how to approach this? All the examples I find seems too simple and/or I'm failing at understanding how to connect the pieces together. I'm using flutter_bloc as a state management library.

Flutter - Bottom bar with different number of screens

an app should be controlled via three navigation points in the foot.
The first point is just one side. The second point consists of a PageView.
In the third point, a list (navigation bar) should be scrolled through and offer many screens.
Is it technically easy to do? I successfully implemented the first and second point.
I still fail on the third point. I want to ask if there is a simple approach to this that I may be overlooking.
My code seems to be going messie: /
It should also be possible, for example, to insert a button in the first "single screen" that references a specific page of the "bottom app bar".
try this
Flutter curved navigation bar plugin you can create flutter custom bottom navigation bar in your project.
link 1
link 2

How to reload a particular tab in bottom navigation bar flutter?

I have a bottom navigation bar with 5 tabs, In each tab I have a button that navigates to another separate screen using Navigation.pushNamed()(page 2); and from (page 2) I pop the screen, now the tab from where I navigated from need to be reloaded. because i store some data (page 2) and stored in sqflite i need to display the data in one of the tabs. Is it possible to reload a particular tab of a bottom navigation bar?
I tried using Navigator.pop(context,true) that also didnt work. Can some one help me with this, thanks in advance.
this is done by the provider. I'm new to flutter as well but this guy explained it very well!
Flutter by default does not save state (and disposes the widgets). If you want to save the state of a tab, you can use a PageStorageBucket. It is really well described in this tutorial:
https://medium.com/#lucassaltoncardinali/keeping-state-with-the-bottom-navigation-bar-in-flutter-69e4168878e1

Modal/menu sliding in from the top

I'd like to create a menu sliding from the top with a list of options.
More specifically, when the user clicks the navigation bar, I would like that a kind of modal view will slide from the status bar to the bottom. The modal will be a tableview.
I'd like something similar to the app Foursquare where (in the explore tab)
if you click the navigation bar a menu, sliding from above, will appear like this:
How can I build such a modal/menu?
Check out DDSlidingPanels on github. There is an example project to help you get started. Is iOS 6+ because it uses nested view controllers and autolayout.
DDSlidingPanels
I like it because:
It is customizable (pull-out tab, position left, right, top, bottom, size of pull-out, supports dragging gestures for pulling down, pushing back, etc.).
It is easy to implement in your own project (the example project is helpful).
I have used it in one of my projects successfully and customized it quite a bit. I don't have any affiliation with the author.

Remove a tab from a tabGroup's navigation without removing it from the tabGroup?

I'm using Appcelerator Titanium to build an iPhone app. I currently have a tabGroup control that links to the major sections of the app, including the home screen.
What I'd like to do is remove the "Home" tab only from the navigation, without removing it from the tabGroup object. So, for example, I'd still be able to call tabGroup.setActiveTab(0) and it would take me to the home screen, but the tabs at the bottom wouldn't have a "home" button.
Is this even possible? If so, how can I do it?
Notes: I do not want to hide the whole bar, just a single tab. I also do not want to remove the screen from the underlying object, just the navigation UI. Also, I'm only developing for iPhone and don't care if other platforms aren't supported, so iPhone-only solutions are acceptable.
take the home screen out of the tab group completely and manage displaying it and transitioning to it separately; in the end, it will be a cleaner solution.
Have you tried tab.hide() or when creating the tab setting it to visible: 0?