Can I show a popup message on top of screen ? How can I do that?
Yes, you can change where the message will be shown on the screen. See Toast.setGravity(int gravity, int xOffset, int yOffset) and Positioning your Toast
Related
Flutter i am developing an app in 8 inch emulator. As you can see in the image my bottom sheet doesnt cover all the width. I tried to change constraints, containers width but nothing has changed.
i will add code in comment
Did you try getting rid of the top Center? You don't include the rest of the modal, so the combo of the Center, and perhaps some width constraint you have further down is limiting the width. Otherwise, include your full modal code in the question section, not the comments.
We have a screen with listItems. Each item can be longPressed to open a popupMenu. Now requirement is to blur the screen except the selected listItem on long press. (check screenshot)
How can this be achieved?
I think you are looking for something like this one.
https://pub.dev/packages/focused_menu
Using this library you can show the popup menu by making the background blurry without the tapped item.
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()
How do I position a Popup control above the BottomAppBar Button that invoked it?
You need to position it in reference to the BottomAppBar.
popup.VerticalOffset = Window.Current.Bounds.Height - offset;
offset is the distance from bottom of the screen
same you can do for HorizontalOffset, where HorizontalOffset will be the position of the button where you want your popup.
Use Callisto's Flyout , its simple and efficient click here
I'm trying to understand the timing of the event loop with animate() and DeferredCommand. I've got LayoutPanel that has a navigation column on the left (like Outlook) and then the remainder of the screen can toggle between being split vertically between 2 panels, or the bottom panel (when it is split) can be set to fill the rest of the screen. I've got the layouts and basic animation between them working, but I'm trying to delay the resizing of the bottom screen with a DeferredCommand. The reason for this is that when going from fullscreen to half screen for the bottom panel, I want to resize the bottom panel after reducing it down to half size. If this doesn't happen, the bottom panel is resized to halfsize while still being displayed full screen, and then the animate happens.
However, this is exactly what is happening, and which I was trying to avoid with the DeferredCommand. So it appears that the DeferredCommand is executing before the animate.
Here's the code snippet
setWidgetTopHeight(...make top panel half size)
setWidgetTopHeight(...make lower panel half size, positioned halfway down)
animate(500);
DeferredCommand.addCommand(new Command() {
public void execute() {
...resize Widget inside lower Panel
}
});
The lower panel that is being resized in the animate is a FlowPanel around the actual widget that is being resized in the DeferredCommand. Could this be part of the problem?
animate() is implemented by a successive number of ScheduledCommands (or the equivalent) - i.e. an animation does not complete in a single iteration of the browser event loop. Note that DeferredCommand is deprecated in GWT 2.1 - Scheduler provides the same functionality. The correct way to perform an action after the animation completes is with an AnimationCallback:
animate(500, new Layout.AnimationCallback() {
#Override
public void onAnimationComplete() {
// Perform post-animation action.
}
#Override
public void onLayout(Layout.Layer layer, double progress) {
// Ignored.
}
});