akshathjain / sliding_up_panel

A draggable Flutter widget that makes implementing a SlidingUpPanel much easier!
https://pub.dartlang.org/packages/sliding_up_panel
Other
1.36k stars 379 forks source link

Let us making the start point of sliding up as low as the bottom end of the device's screen (like a bottomModalSheet that covers BottomNavigationBar) #254

Open yasinarik opened 3 years ago

yasinarik commented 3 years ago

Is there an implementation in this package that enable starting sliding the panel from the bottom end of the screen when there is also a persistent bottom navigation bar (or CupertinoTabBar for ex) ?

Even when used as a wrap or a child in a stack, the starting point of the panel can only be lowered as low as the current scaffold. It doesn't start from the bottom end of the device's screen (and doesn't cover the bottom navigation bar.)

However, I want it to behave like a regular bottom modal sheet. Like when we use the root navigator.

The problem with that, you have to navigate to a modal route. Whereas using your sliding up panel package, there is no need to navigate to a new route (even it is a modal route).

So, when I navigate to a screen, I can create and make the panel ready at the same time. It is just hidden and it will be opened by a button tap. So, no rebuilds occur and the slide up and down animations are very smooth. These are very good.

alexaung commented 2 years ago

I also facing same issue. User want to hide or show in setting. So First time want to hide it. Only show when they change the setting. So I put the bloc state and check the state change in collapsed bottom widget. State does not triggered. If I don't hide, it is triggered. Is there any other way to show the panel when user change the setting from setting screen.

aytunch commented 2 years ago

Is there a solution for this case with bottom navigation bar when sliding panel is opened programmatically?

Gricardov commented 2 years ago

It's my pleasure to tell you how I solved this issue: if (panelController.isAttached) { panelController.open(); screenStatus.changeFullScreen(true); // This a provider file that communicates with main.dart and hides the bottomNavigationBar when I set fullscreen }