跳到主要内容

MenuStyle

MenuStyle 允许控制菜单的视觉外观,如形状、背景和阴影颜色、内容填充、边框宽度和半径。

每个单独的样式属性可以针对菜单的所有或特定的材质状态进行配置,如 HOVEREDFOCUSEDDISABLED 等。例如,您可以为 HOVERED 状态配置不同的形状、背景颜色,并为所有其他状态配置回退值。

要为所有材质状态配置样式属性,将其值设置为字面值(或类实例)。例如,如果将 bgcolor 属性设置为字面值,则该值将应用于所有菜单状态:

ft.MenuStyle(
bgcolor=ft.colors.RED
)

要为特定的材质状态设置样式属性,请将其值设置为字典,其中键是状态名称。例如,要为 HOVEREDFOCUSED 状态配置不同的背景颜色,并为所有其他状态配置另一种颜色:

ft.MenuStyle(
bgcolor={
ft.MaterialState.HOVERED: ft.colors.WHITE,
ft.MaterialState.FOCUSED: ft.colors.BLUE,
ft.MaterialState.DEFAULT: ft.colors.BLACK,
}
)

MenuStyle 类具有以下属性:

  • alignment - 定义菜单打开时子菜单相对于打开它的按钮的期望对齐方式。
  • bgcolor - 菜单的背景填充颜色。
  • elevation - 菜单材质的高程。
  • padding - 菜单边界与其子元素之间的填充。
  • shadow_color - 菜单材质的阴影颜色。
  • shape - 菜单底层材质的形状,一个OutlinedBorder类的实例。
  • side - BorderSide类的实例,菜单轮廓的颜色和粗细。
  • surface_tint_color - 菜单材质的表面色调颜色。