SnackBar
一条带有可选操作的轻量级消息,会在屏幕底部短暂显示。
示例
动态消息的 SnackBar
- Python
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.0
和1.0
之间)。默认值为0.25
。
如果SnackBar的content
的宽度大于这个百分比的SnackBar宽度减去操作的宽度,那么操作将出现在content
下方。
在值为0.0
时,操作将不会溢出到新行。
behavior
定义SnackBar在页面中的行为和位置。
定义SnackBar在页面中的位置和浮动ActionButton或NavigationBar时的调整行为。
值的类型为SnackBarBehavior
,默认值为SnackBarBehavior.FIXED
。
注意:
- 如果
behavior=SnackBarBehavior.FLOATING
,栏的长度由width
或margin
定义,如果两者都指定,width
优先于margin
。 - 如果
behavior!=SnackBarBehavior.FLOATING
,则忽略width
和margin
。
bgcolor
SnackBar背景颜色。
clip_behavior
根据这个选项,内容将被剪辑(或不剪辑)。属性值是ClipBehavior
。
默认值是HARD_EDGE
。
close_icon_color
一个可选的颜色,用于关闭图标,如果show_close_icon
是True
。
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周围的空白空间。
这个属性仅在behavior
是SnackBarBehavior.FLOATING
时使用。不能与width
同时使用。
open
设置为True
以显示SnackBar。这个属性将自动设置为False
,一旦SnackBar显示。
padding
SnackBar的内容和可选操作的填充量。
值是一个Padding
类实例或一个数字。
shape
SnackBar的形状。
值是一个OutlinedBorder
类实例。
show_close_icon
是否包括一个“关闭”图标控件。
点击图标将关闭SnackBar。
width
SnackBar的宽度。
如果宽度指定,SnackBar将在可用 空间中水平居中。这个属性仅在behavior
是SnackBarBehavior.FLOATING
时使用。不能与margin
同时使用。
事件
on_action
当操作按钮被点击时触发。
on_visible
当SnackBar第一次在页面中可见时触发。