跳到主要内容

BottomSheet

显示一个符合 Material Design 规范的底部弹出框。

底部弹出框是一种菜单或对话框的替代方案,可以防止用户与应用程序的其余部分进行交互。

要打开此控件,只需调用 page.open() 辅助方法。

示例

实时示例

简单的底部弹出框

import flet as ft


def main(page: ft.Page):
page.horizontal_alignment = ft.CrossAxisAlignment.CENTER

def handle_dismissal(e):
page.add(ft.Text("Bottom sheet dismissed"))
bs = ft.BottomSheet(
on_dismiss=handle_dismissal,
content=ft.Container(
padding=50,
content=ft.Column(
tight=True,
controls=[
ft.Text("This is bottom sheet's content!"),
ft.ElevatedButton("Close bottom sheet", on_click=lambda _: page.close(bs)),
],
),
),
)
page.add(ft.ElevatedButton("Display bottom sheet", on_click=lambda _: page.open(bs)))


ft.app(target=main)

属性

bgcolor

底部弹出框的背景颜色

content

底部弹出框的内容控件。

dismissible

指定当用户点击遮罩时,底部弹出框是否会关闭。

enable_drag

指定底部弹出框是否可以上下拖动,并通过向下滑动关闭。

elevation

控制底部弹出框下方阴影的大小。默认值为 0.0

is_scroll_controlled

指定底部弹出框是否包含可滚动的内容,如 ListView 或 GridView。默认值为 False

maintain_bottom_view_insets_padding

在底部添加一个填充,以避免屏幕键盘或其他系统元素遮挡底部弹出框的内容。

open

设置为 True 以显示底部弹出框。默认值为 False

show_drag_handle

是否在弹出框顶部显示拖动手柄。

use_safe_area

指定弹出框是否会避免系统在顶部、左侧和右侧的入侵。默认值为 False

事件

on_dismiss

底部弹出框关闭时触发。