Banner
A banner displays an important, succinct message, and provides actions for users to address (or dismiss the banner). A user action is required for it to be dismissed.
Banners are displayed at the top of the screen, below a top app bar. They are persistent and non-modal, allowing the user to either ignore them or interact with them at any time.
Example:
banner = ft.Banner(
leading=ft.Icon(ft.Icons.INFO_OUTLINED, color=ft.Colors.PRIMARY),
content=ft.Text("Backup completed successfully."),
actions=[ft.TextButton("Dismiss")],
bgcolor=ft.Colors.SURFACE_CONTAINER_LOW,
open=True,
)
page.show_dialog(banner)

Inherits: DialogControl
Properties
actions- The set of actions that are displayed at the bottom or trailing side of this banner.bgcolor- The color of the surface of this banner.content- The content of this banner.content_padding- The amount of space by which to inset thecontent.content_text_style- The style to be used for theTextcontrols in thecontent.divider_color- The color of the divider.elevation- The elevation of this banner.force_actions_below- An override to force theactionsto be below thecontentregardless of how many there are.leading- The leading Control of this banner.leading_padding- The amount of space by which to inset theleadingcontrol.margin- The amount of space surrounding this banner.min_action_bar_height- The minimum action bar height.shadow_color- The color of the shadow below this banner.
Events
on_visible- Called when this banner is shown or made visible for the first time.
Examples
Basic example
import flet as ft
def main(page: ft.Page):
page.horizontal_alignment = ft.CrossAxisAlignment.CENTER
def handle_banner_close(e: ft.Event[ft.TextButton]):
page.pop_dialog()
page.add(ft.Text("Action clicked: " + e.control.data))
action_button_style = ft.ButtonStyle(color=ft.Colors.BLUE)
banner = ft.Banner(
bgcolor=ft.Colors.AMBER_100,
leading=ft.Icon(ft.Icons.WARNING_AMBER_ROUNDED, color=ft.Colors.AMBER, size=40),
content=ft.Text(
value="Oops, there were some errors while trying to delete the file. "
"What would you like to do?",
color=ft.Colors.BLACK,
),
actions=[
ft.TextButton(
content="Retry",
style=action_button_style,
on_click=handle_banner_close,
data="retry",
),
ft.TextButton(
content="Ignore",
style=action_button_style,
on_click=handle_banner_close,
data="ignore",
),
ft.TextButton(
content="Cancel",
style=action_button_style,
on_click=handle_banner_close,
data="cancel",
),
],
)
page.add(
ft.SafeArea(
content=ft.Column(
controls=[
ft.Button(
"Show Banner", on_click=lambda e: page.show_dialog(banner)
)
]
)
)
)
if __name__ == "__main__":
ft.run(main)

Properties
actionsinstance-attribute
actions: Annotated[list[Control], V.visible_controls(min_count=1)]The set of actions that are displayed at the bottom or trailing side of this banner.
Typically this is a list of TextButton
controls.
Raises:
- ValueError - If it does not contain at least one visible
Control.