How to implement Material Speed Dial on Flutter? - flutter

Is there any native Flutter library for achieving Material Design Speed Dial?
I found only this FAB documentation, but it doesn't say anything about creating a menu out of it, though Material Design FAB documentation says at the top that FAB is supported in Flutter (it doesn't say how much it supports. Only that it supports, which would lead me to understand that it supports everything in the page).
Should I instead develop mine or look for third party libraries?

Nevermind. I'm creating my own Speed Dial. For now, it is part of a very simple project, but once I test it more and add animations, I'll share a final link.
It still don't have animations, because I'm using Visibility for showing or hiding the buttons, and it was tested only in Scaffold's FAB, placed on bottom right of screen, so no link for now, sorry. Less than an alpha right now (and I still need to study how one shares an API for adding to dependency).
I hope I'll be able to create a simple and light enough implementation. Easy to use and easy to understand if anybody wishes to take a look into the code later on. I've seen some implementations, but they are very complex and create (in my view) unnecessary extra widgets.
Some implementations I found:
https://flutterawesome.com/flutter-plugin-to-implement-a-material-design-speed-dial/
https://flutterawesome.com/flutter-floating-action-button-with-speed-dial/

Related

How to do trajectory animation in Flutter?

I'm looking for trajectory animation just like how https://leo9studio.com/ has done. You see while scrolling, those balls get scrolled from top to bottom. How can we replicate exactly in Flutter Web?
Additionally, how to create such a smooth scrolling effect in Flutter?
rive.app would be a good place to start looking, since you aren't really providing any context or code other than just a random idea, they have a great community and I have used their packaged for some neat animation on my web apps. They have a way to create your own designs and animations which would probably be the case there, unless you wanted to make it all with code then that would be a different story.
Or look at this post here How to animate a path in flutter?

Fluent Design Menus in Hololens

I'm currently designing a Hololens application and I'm pretty new to everything. The menu right now seems a little "old-school" for my taste. I'd like to create a user-friendly menu that could be pinned in place or move around as the user wishes.
I've been checking out fluent designs and found the DesignLab toolkit (https://unitylist.com/p/19/MR-Design-Labs-Unity) but its from 2017. Is there anything new I could use to make my menus?
You can use the ButtonHolographic from the HoloToolkit Example. These are flat designed uwp buttons. Take a look at the example scenes from the holotoolkit-example.
Check out the PressableButton.prefab in MRTK. This aligns pretty exactly with the system style and fluent design. There's documentation here:
https://microsoft.github.io/MixedRealityToolkit-Unity/Documentation/README_Button.html
It's relatively easy to use the same materials and shaders to create a background panel for text or other things that aren't buttons.
Keep an eye out for how the shader reacts when MRTK's simulated hand approaches it. There's a lot of cool reactive fluent elements there.

Any way to move widgets beyond container without resizing it?

I am working on a game using GTK3 as a rendering technique (terrible idea, but it's a school project).
My gameobjects are made of Image widgets and are placed in a Fixed container. It's working pretty well, however when i move widgets beoynd right or bottom border, the window automatically grows along with it.
I want the window to stay at the sam size, event if widget leaves its area and becomes invisible. It works when i move widget past the upper or left border.
I tried using gtk_widget_set_vexpand and gtk_widget_set_hexpand. My window is set as not resizable (gtk_window_set_resizable).
Is there any way I can achieve this?
This isn't the right way to use GTK+. GTK+ is intended for laying out widgets in a GUI program.
There are better options for animating 2D elements. One that works with GTK+ natively is the Clutter library. You can also integrate SDL or OpenGL or something like that if you so choose.
That being said, you can also use GtkLayout instead of GtkFixed, or put the GtkFixed in a GtkScrolledWindow and hide the scrollbars and set the scroll policy to prevent scrolling. It's still technically misuse, and in fact GtkFixed (and possibly GtkLayout too but the docs don't say) is really not supposed to be used anymore unless absolutely necessary because it doesn't give you automatic support for tricky UI layout problems, but it doesn't have extra dependencies.

Android ListView-like scrolling WITHOUT the ListView

I've been Googling like crazy for a while now, and I simply can't find any answers to the question: is it possible to implement the Android List scrolling, without using an actual list UI?
I'm trying to make a grid of rectangles such as the kind you would find in a typical game app respond to finger movement in the same way that it does using Android lists (bounce on the bounds, the 'flick' effect, etc), but all of the approaches I've found involve over-complicated solutions involving extending the list, defining XML layouts, etc.
Would it not be possible to simply give an object variables for 'document' height, 'viewable' height and y-offset? I'm happy to give the delta (MS since last update) to the object on every update. It would also be good if the actual interactive region was also definable.
Additionally; are there strong advantages to using the ListView instead that I'm missing? I assume responsiveness comes into play, but I'm quite happily managing that manually at the moment.
Just use ScrollView directly, assuming you only need vertical scrolling.

gwt rounded panel (standards based widget akin to DecoratorPanel)

I'm trying to write an app that uses rounded corners for framing the app. I've found a package on google code that has a RoundedLinePanel and it seems to work... kind of.
I'm wondering a few things. Is this what people are using for creating divs with round corners in GWT? The release notes say it hasn't changed in almost a year.
Also, I can't seem to set a fixed height of this div (setHeight sets it on the wrapper div, not the inner one). so it's not useful to me as I have a fixed height app.
Finally, if anyone can suggest a better mechanism for creating rounded corner divs in GWT I'm all ears.
There is a beautiful way to rounded corners using CSS 3 (which thus doesn't work in IE<=8 , but will in IE9 developer preview). Take a look at http://css3please.com/ to see the styles involved. It's fairly simple using a border-radius (or -moz-border-radius or -webkit-border-radius property). In GWT just add a Style Class Name you want to the elements you want to have a rounded border and you are go. Of course supporting rounded corners in legacy browsers is harder, but do you need to do it?
For legacy browsers it is quite harder, depending on the actual context. It always involves images for the borders. You have to create images that mask the border of the box. What works is the trick described in this answer. To use this in GWT you can use either uibinder, htmlelement or you create your own widget. A broader explanation of the technique can also be found here.
The solution most commonly found, the decoratorPanel, is deprecated in the current version of GWT (if you use it with GWT 2.1.1, for example, you'll wind up with a mess of incompatilbility between the GWT-required doctype, the decoratorPanel, and IE, especially IE8).
The required GWT 2.1.1 doctype (!doctype html) also disables the popular rounded-corners.htc for IE8.
You can use the CSS3 series of rounded corner properties to add classes, but they will not work in IE versions prior to 9.
JQuery and other javascript rounded corners have a high probability of conflicting with the native GWT js, so we abandoned those as a possible solution, though I personally did no testing for these.
We wound up having to use rounded corner images in order to be truly cross-browser compliant and create a consistent look.