AnimatedSwitcher
A control that by default does a cross-fade between a new control and the control previously set on the AnimatedSwitcher as a content.
Examples
Animated switching between two containers with scale effect
- Python
import flet as ft
def main(page: ft.Page):
c1 = ft.Container(
ft.Text("Hello!", style=ft.TextThemeStyle.HEADLINE_MEDIUM),
alignment=ft.alignment.center,
width=200,
height=200,
bgcolor=ft.colors.GREEN,
)
c2 = ft.Container(
ft.Text("Bye!", size=50),
alignment=ft.alignment.center,
width=200,
height=200,
bgcolor=ft.colors.YELLOW,
)
c = ft.AnimatedSwitcher(
c1,
transition=ft.AnimatedSwitcherTransition.SCALE,
duration=500,
reverse_duration=100,
switch_in_curve=ft.AnimationCurve.BOUNCE_OUT,
switch_out_curve=ft.AnimationCurve.BOUNCE_IN,
)
def animate(e):
c.content = c2 if c.content == c1 else c1
c.update()
page.add(
c,
ft.ElevatedButton("Animate!", on_click=animate),
)
ft.app(target=main)
Properties
content
The content to display. When the content changes, the AnimatedSwitcher will animate the transition from the
old content to the new one.
duration
The duration, in milliseconds, of the transition from the old content value to the new one.
Defaults to 1000 milliseconds.
reverse_duration
The duration, in milliseconds, of the transition from the new content value to the old one.
Defaults to 1000 milliseconds.
switch_in_curve
The animation curve to use when transitioning in a new content.
Value is of type AnimationCurve and defaults
to AnimationCurve.LINEAR.
switch_out_curve
The animation curve to use when transitioning a previous content out.
Value is of type AnimationCurve and defaults
to AnimationCurve.LINEAR.
transition
An animation type to transition between new and old content.
Value is of type AnimatedSwitcherTransition and defaults
to AnimatedSwitcherTransition.FADE.