导航 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=ft.Icon(ft.icons.BOOKMARK_BORDER),
selected_icon=ft.Icon(ft.icons.BOOKMARK),
label="Second",
),
ft.NavigationRailDestination(
icon=ft.icons.SETTINGS_OUTLINED,
selected_icon=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(main)
NavigationRailDestination
属性
icon
目的地的图标名称(图标名称参考)或Control
。
使用图标名称的示例:
icon=ft.icons.BOOKMARK
使用Control
的示例:
icon=ft.Icon(ft.icons.BOOKMARK)
如果提供了selected_icon
,则仅在目的地未被选中时显示此图标。
为了使NavigationRail
更易于访问,可以考虑选择具有描边和填充版本的图标,例如ft.icons.CLOUD
和ft.icons.CLOUD_QUEUE
。应将图标设置为描边版本,将selected_icon
设置为填充版本。
icon_content
icon_content
目的地的图标Control
。通常,图标是一个Icon
控件。用于替代icon
属性。
在 v0.25.0 中已弃用,并将在 v0.28.0 中删除。请使用icon
代替。
indicator_color
当此目的地被选中时,indicator_shape
的颜色。
indicator_shape
选择指示器的形状。值是OutlinedBorder
类的实例。
label
表示目的地标签的字符串。仅在未提供label_content
时显示。
label_content
目的地的标签Control
。如果提供了此内容,则将忽略label
。
与NavigationRail
一起使用时必须提供标签。当NavigationRail.label_type=NavigationRailLabelType.NONE
时,标签仍用于语义,并且如果NavigationRail.extended=True
,仍可能会被使用。
padding
插入目的地项的空间量。
Padding
是Padding
类的实例。
selected_icon
当此目的地被选中时显示的替代图标名称或Control
。
使用图标名称的示例:
selected_icon=ft.icons.BOOKMARK
使用Control
的示例:
selected_icon=ft.Icon(ft.icons.BOOKMARK)
如果未提供此图标,则NavigationRail
在任何状态下都将显示icon
。
selected_icon_content
selected_icon_content
当此目的地被选中时显示的替代图标Control
。
在 v0.25.0 中已弃用,并将在 v0.28.0 中删除。请使用selected_icon
代替。