导航 Rail
Material 小部件,旨在显示在应用程序的左侧或右侧,以在少数视图之间导航,通常在三个和五个之间。
示例
- Python
import flet as ft
def main(page: ft.Page):
rail = ft.NavigationRail(
selected_index=0,
label_type=ft.NavigationRailLabelType.ALL,
# extended=True,
min_width=100,
min_extended_width=400,
leading=ft.FloatingActionButton(icon=ft.icons.CREATE, text="Add"),
group_alignment=-0.9,
destinations=[
ft.NavigationRailDestination(
icon=ft.icons.FAVORITE_BORDER, selected_icon=ft.icons.FAVORITE, label="First"
),
ft.NavigationRailDestination(
icon_content=ft.Icon(ft.icons.BOOKMARK_BORDER),
selected_icon_content=ft.Icon(ft.icons.BOOKMARK),
label="Second",
),
ft.NavigationRailDestination(
icon=ft.icons.SETTINGS_OUTLINED,
selected_icon_content=ft.Icon(ft.icons.SETTINGS),
label_content=ft.Text("Settings"),
),
],
on_change=lambda e: print("Selected destination:", e.control.selected_index),
)
page.add(
ft.Row(
[
rail,
ft.VerticalDivider(width=1),
ft.Column([ ft.Text("Body!")], alignment=ft.MainAxisAlignment.START, expand=True),
],
expand=True,
)
)
ft.app(target=main)
NavigationRail
属性
bgcolor
设置容器的背景颜色,该容器包含所有 NavigationRail 的内容。
destinations
定义按钮项的外观,这些按钮项 arrayed 在导航 rail 中。
值必须是一个或多个 NavigationRailDestination
实例的列表。
elevation
控制 NavigationRail 底部阴影的大小。默认值为 0.0
。
extended
指示 NavigationRail 应该处于扩展状态。
扩展状态具有更宽的 rail 容器,并且标签位于图标旁边。min_extended_width
可以用于设置 rail 的最小宽度,当它处于该状态时。
rail 将隐式地在扩展和正常状态之间动画。
如果 rail 将处于扩展状态,那么 label_type
必须设置为 none
。
默认值为 False
。
group_alignment
组的垂直对齐方式,在 rail 中的 destinations。
NavigationRailDestinations 与 trailing 小部件一起分组,在 leading 小部件和 rail 底部之间。
值必须在 -1.0
和 1.0
之间。
如果 group_alignment
为 -1.0
,那么项目将对齐到顶部。如果 group_alignment
为 0.0
,那么项目将对齐到中心。如果 group_alignment
为 1.0
,那么项目将对齐到底部。
默认值为 -1.0
。
indicator_color
NavigationRail 指示器的颜色。