跳到主要内容

SnackBar

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

示例

Live 示例

动态消息的 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出现的操作。SnackBar最多可以有一个操作。

操作不应该是“dismiss”或“cancel”。

action_color

操作按钮的前景颜色

action_overflow_threshold

操作的宽度溢出阈值(介于0.01.0之间)。默认值为0.25

如果SnackBar的content的宽度大于这个百分比的SnackBar宽度减去操作的宽度,那么操作将出现在content下方。

在值为0.0时,操作将不会溢出到新行。

behavior

定义SnackBar在页面中的行为和位置。

定义SnackBar在页面中的位置和浮动ActionButton或NavigationBar时的调整行为。

值的类型为SnackBarBehavior,默认值为SnackBarBehavior.FIXED

注意:

  • 如果behavior=SnackBarBehavior.FLOATING,栏的长度由widthmargin定义,如果两者都指定,width优先于margin
  • 如果behavior!=SnackBarBehavior.FLOATING,则忽略widthmargin

bgcolor

SnackBar背景颜色

clip_behavior

根据这个选项,内容将被剪辑(或不剪辑)。属性值是ClipBehavior

默认值是HARD_EDGE

close_icon_color

一个可选的颜色,用于关闭图标,如果show_close_iconTrue

content

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

dismiss_direction

SnackBar可以被dismiss的方向。

属性值是DismissDirection,,默认是DOWN

duration

SnackBar保持打开的毫秒数。默认是4000([4秒](https://api.flutter.dev/flutter/material/SnackBar/duration.html)) when not set.

elevation

SnackBar的z坐标,控制SnackBar下方阴影的大小。

margin

SnackBar周围的空白空间。

这个属性仅在behaviorSnackBarBehavior.FLOATING时使用。不能与width同时使用。

open

设置为True以显示SnackBar。这个属性将自动设置为False,一旦SnackBar显示。

padding

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

值是一个Padding类实例或一个数字。

shape

SnackBar的形状。

值是一个OutlinedBorder类实例。

show_close_icon

是否包括一个“关闭”图标控件。

点击图标将关闭SnackBar。

width

SnackBar的宽度。

如果宽度指定,SnackBar将在可用空间中水平居中。这个属性仅在behaviorSnackBarBehavior.FLOATING时使用。不能与margin同时使用。

事件

on_action

当操作按钮被点击时触发。

on_visible

当SnackBar第一次在页面中可见时触发。