Trying to create a Flutter App Bar sub menu widget - dart

I have an app I am builidng in flutter and I want to achieve a similar design that exists in Quora. It it appears to be a sub menu underneath the AppBar and it scrolls horizontally. Is there anything the exists widget wise in flutter that I can use?
I am attaching a screen shot, its the white menu that starts with "For You"

Related

How to immobilize widget layout when keyboard is open?

I am developing a Flutter App. In a specific screen, I have a Cupertino style text field. (The whole app is Cupertino, I have four TabBars below the screen). Whenever I click on the textfield, the virtual keyboard opens and all the widgets squeeze between the textfield and the keyboard (with yellow-black bands of course).
The widgets are Expandable rows and columns (Flexible also has the same result).
resizeToAvoidBottomPadding is disabled.
resizeToAvoidBottomInset does not have any functionality.
SingleChildScrollView does not work.
ListView is meaningless, since my widgets are stateless and static.
What I need is to have keyboard open on top of the current widgets, instead of moving them. This problem exists both in iOS and Android.
After couple of weeks, I finally reached the solution. Despite indicating 'resizeToAvoidBottomInset' as not working above, I was using that in one of the folders of tabs. However this should be added where you build the tabs.

How to make the iOS bottom-sheet panel of Maps in react-native?

I am developing a react-native app. I'm trying to make a UI element similar to the one on Maps in iOS, in which you can slide a panel from the bottom.
The behavior of the list is quite complicated as:
You can't scroll down the list until the panel is fully open.
Trying to scroll it down makes the panel go up, and then if you continue the sliding movement on the screen the list starts scrolling.
And of course:
You can't slide the panel down until the list is at the beginning.
If you try to slide the panel down and the list isn't fully scrolled up, you end up scrolling the list to the beginning and then pulling the panel down.
The list scrolling up or down and the panel moving up or down has to be made in one movement. The user doesn't have to pull his finger out of the screen to make the second action. This is the actual hard part. Furthermore, it has to work on iOS and Android.
An example GIF of the iOS panel and the expected behavior.
The perfect module would be something like this, but the list is still scrollable even when it has reached the top: https://github.com/donaldmorton/react-native-bottom-drawer
I tried with this module without success:
https://github.com/simonhoss/react-native-touch-through-view
Something like that in react-native would be perfect:
How can I mimic the bottom sheet from the Maps app?
I already checked this post:
React Native slide out panel and scrollview
Any kind of help is welcomed, thank you!
You can see https://github.com/osdnk/react-native-reanimated-bottom-sheet.
It built from scratch with react-native-gesture-handler and react-native-reanimated

Flutter Vertical Drawer

I'm new to flutter, and after doing some searching, can't find a widget similar to the Drawer for the top of the page coming down, instead of the left or right side of the page coming out. Is there such a widget or a way to create one?
Not an easy task, but Flutter is open source. You can create your own version of Scaffold and Drawer with a vertical orientation. Just copy and modify the source code.
As of this date the Drawer widget doesn't support this, and there is no 'Vertical Drawer' widget in the Flutter widget catalog.
Thankfully, Akshath Jain created a nice SlidingUpPanel widget which does the trick nicely. For my use case I just needed it to slide from the bottom. I haven't tested it myself, but there is a slideDirection property which you can set to SlideDirection.DOWN and it should do what you're asking for.

Calabash Tracking Of Closing A Side Menu

Sorry for the confusing title but I can't get my head around to find the right words for this scenario:
We have an iOS app that has a top-left menu button. If you tap it, a side menu opens and most of the screen (incl. the menu button) are slid to the right.
for Calabash I need to track the ID of the view that is slid to the right. Any tap on the whole slid-to-right view area will close the menu. The menu icon itself seems to have no other function than being a visual help and its accessibility ID cannot be found by Calabash while the menu is open.
Does anyone know how iOS handles this kind of navigation? To sum it up:
We have an initial view open with a menu button.
If button is tapped, menu slides in from left and current view is moved to right (mostly out of the screen).
You can now tap any of the remaining visible area of the initial view and the menu will close again (the menu button seems to receive no touch during this).
I need to figure out to what assign an accessibility ID to so that Calabash can 'imitate' a tap on the slid-out, initial view to close the menu.
Have you tried using the Accessibility Inspector in the Developer Tools of Xcode? This might help you in seeing whether or not you can interact with the slid-out menu.
Also if you haven't tried using the calabash command tree - I'd give that a go as well. For that open the menu you're trying to interact with use the command calabash-ios console > console_attach > tree.
You will be able to see the whole view hierarchy here, you can even run tree before and after the menu pops out to see if it makes a difference.

Mozilla "Jetpack" Add-On: Anchor Panel to Widget

I'm making a Jetpack extension in which a widget opens a panel. Clicking the widget opens the panel as expected (anchored in the lower-right corner to the widget). But if I call widget.panel.show() from my code, the panel opens detached from the widget, centered in the screen, floating in space.
In short, how can I fix this?
Can I simulate a click event on the widget (somehow) instead of calling widget.panel.show()?
Can I force the panel to anchor to the widget?
This question has a solution that worked in the previous Jetpack API, but I can't translate to the new interface:
Using positioning 'Panel' in new Jetpack API
panel.show(require("tab-browser").activeTab.ownerDocument.getElementById('widget:yourAddonId#package.json-yourWidgetId'));
Works for me with Addon SDK 1.8.1
Where:
yourAddonId#package.json - your addon id from package.json
yourWidgetId - your widget id
panel.show(widget)
isn't working?

Resources