安全区域
避免操作系统入侵的控件,它将其内容缩进到足够的填充以避免屏幕上方的状态栏。
例如,这将在屏幕顶部缩进内容以避免状态栏。
它还将缩进内容以避免 iPhone X 的 notch 或其他类似创造性的物理显示特征。
当指定最小填充时,将应用最小填充或安全区域填充的较大值。
示例
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
要应用的最小填充。
将应用最小填充和媒体填充的较大值。
right
是否避免屏幕右侧的系统入侵。默认为 True
。
top
是否避免屏幕顶部的系统入侵,通常是状态栏。默认为 True
。