跳到主要内容

底部消息条 SnackBar

一个在屏幕底部显示的轻量级消息,可选带有操作。

示例

实时示例

带有动态消息的 SnackBar

import flet as ft

class Data:
def __init__(self) -> None:
self.counter = 0

d = Data()

def main(page):

page.snack_bar = ft.SnackBar(
content=ft.Text("Hello, world!"),
action="Alright!",
)

def on_click(e):
page.snack_bar = ft.SnackBar(ft.Text(f"Hello {d.counter}"))
page.snack_bar.open = True
d.counter += 1
page.update()

page.add(ft.ElevatedButton("Open SnackBar", on_click=on_click))

ft.app(target=main)

属性

action

用户可以执行的可选操作。

例如,SnackBar 可以让用户撤销导致 SnackBar 弹出的操作。SnackBar 最多只能有一个操作。

操作不应为 "dismiss" 或 "cancel"。

action_color

操作按钮的前景颜色(color)。

behavior

定义 SnackBar 的行为和位置。

定义 SnackBar 在页面中的位置以及当页面还包括 FloatingActionButtonNavigationBar 时如何调整其位置。

如果此属性为 None,则默认为 SnackBarBehavior.FIXED

如果该值为 SnackBarBehavior.FLOATING,则根据 widthmargin 定义栏的长度。

bgcolor

SnackBar 背景颜色(color)。

close_icon_color

如果 show_close_iconTrue,则为关闭图标的可选颜色。

content

SnackBar 的主要内容。通常是 Text 控件。

dismiss_direction

可以关闭 SnackBar 的方向。

不能为 None,默认为 DismissDirection.DOWN

duration

SnackBar 显示时间的毫秒数。如果未设置,默认为 4000 毫秒(4 秒)。

elevation

显示 SnackBar 的 z 坐标。此属性控制 SnackBar 下方的阴影的大小。

margin

围绕 SnackBar 的空白间距。

仅当 behaviorSnackBarBehavior.FLOATING 时使用此属性。如果指定了 width,则无法使用该属性。

open

设置为 True 以显示 SnackBar。一旦显示 SnackBar,此属性会自动设置为 False

padding

应用于 SnackBar 的内容和可选操作的填充量。

show_close_icon

是否包括 "关闭" 图标小部件。

点击图标将关闭 SnackBar。

width

SnackBar 的宽度。

如果指定了宽度,SnackBar 将在可用空间中水平居中。仅当 behaviorSnackBarBehavior.FLOATING 时使用此属性。如果指定了 margin,则无法使用该属性。

事件

on_action

当点击操作按钮时触发。