跳到主要内容

安全区域

避免操作系统入侵的控件,它将其内容缩进到足够的填充以避免屏幕上方的状态栏。

例如,这将在屏幕顶部缩进内容以避免状态栏。

它还将缩进内容以避免 iPhone X 的 notch 或其他类似创造性的物理显示特征。

当指定最小填充minimum_padding时,将应用最小填充或安全区域填充的较大值。

示例

Live 示例

import flet as ft

class State:
counter = 0

def main(page: ft.Page):
state = State()

def add_click(e):
state.counter += 1
counter.value = str(state.counter)
counter.update()

page.floating_action_button = ft.FloatingActionButton(
icon=ft.icons.ADD, on_click=add_click
)
page.add(
ft.SafeArea(
ft.Container(
counter := ft.Text("0", size=50),
alignment=ft.alignment.center,
),
expand=True,
)
)

ft.app(main)

属性

bottom

是否避免屏幕底部的系统入侵。默认为 True

content

要在安全区域内显示的控件。

left

是否避免屏幕左侧的系统入侵。默认为 True

maintain_bottom_view_padding

指定 SafeArea 是否应该维持底部 MediaQueryData.viewPadding 而不是底部 MediaQueryData.padding,默认为 False

例如,如果在 SafeArea 上方显示了软键盘,填充可以维持在障碍物下方,而不是被消耗。这可以在具有灵活控件的布局中有所帮助,以避免软件键盘打开时的 UI 移动。将其设置为 true 将避免 UI 移动。

minimum

这是要应用的最小填充。

最小内边距和媒体填充中的较大值将被应用。

在 v0.23.0 中已弃用(重命名),并将在 v0.26.0 中删除。请使用 minimum_padding 替代。

minimum_padding

要应用的最小填充。

将应用最小填充和媒体填充的较大值。

是否避免屏幕右侧的系统入侵。默认为 True

top

是否避免屏幕顶部的系统入侵,通常是状态栏。默认为 True