Despite Flet release debuting animations support was released some time ago, we've just finished documenting its new features! We all know if the feature is not documented it just doesn't exist! ๐
Flutter offers multiple approaches for creating animations such "implicit", "explicit", "tween", "stagered", "pre-canned" animations as well as displaying animation scenes prepared in Rive and Lottie editors.
We are starting with "implicit" animations which allows you to animate a control property by setting a target value; whenever that target value changes, the control animates the property from the old value to the new one.
Demo timeโ
Explore demo sources. The demo is hosted on Heroku, by the way, so you can use it as a starting point for your own deployments.
Implicit animationsโ
Implicit animations can be enabled for the following control properties:
- Opacity
- Rotation (new in this release)
- Scale (new in this release)
- Offset (new in this release)
- Position
Additionally, all Container
control properties can be now animated and there is a new AnimatedSwitcher
control for animated transition between old a new content.
Other new featuresโ
Markdown
controlโ
Allows to render text in Markdown format. Supports various extensions: CommonMark
, GitHub Web
and GitHub Flavored
.
See Markdown
control docs for more information and examples.
URL launcherโ
page.launch_url(url)
method allows programmatically opening a URL in a new browser window, for example:
page.launch_url("https://google.com")
It also works nice with Markdown
control for opening links within markdown document.
Keyboard shortcutsโ
Page
now contains on_keyboard_event
event handlet to globally intercept all keystrokes.
Check this simple usage example.
Accessibility improvementsโ
We added Accessibility section to the docs covering semantics support for screen readers.
ShaderMark
controlโ
A control that applies a mask generated by a shader to its content. Allows making nice effects like gradually fading out images.
That's it!
Give Flet a try and let us know what you think!