颜 色
颜色值
在 Flet 中,颜色属性值可以通过两种方式定义:十六进制值和命名颜色。
十六进制值
十六进制值应该以 #aarrggbb
(0xaarrggbb
) 或 #rrggbb
(0xeeggbb
) 格式表示。如果省略 aa
(不透明度),则将其设置为 ff
(不透明)。
c1 = ft.Container(bgcolor='#ff0000')
命名颜色
命名颜色是 Material Design 主题颜色 和 颜色调色板。它们可以使用字符串值或使用 flet.colors 模块设置。
c1 = ft.Container(bgcolor=ft.colors.YELLOW)
c2 = ft.Container(bgcolor='yellow')
主题颜色
有 30 个命名主题颜色在 Theme.color_scheme
中,它们是基于 color_scheme_seed
属性生成的。默认的种子颜色值是 "blue"。
# 生成页面主题颜色基于种子颜色的示例
page.theme = Theme(color_scheme_seed='green')
page.update()
任何 30 个颜色都可以被覆盖,在这种情况下它们将具有绝对值,不再依赖于种子颜色。
page.theme = ft.Theme(
color_scheme=ft.ColorScheme(
primary=ft.colors.GREEN,
primary_container=ft.colors.GREEN_200
#...
),
)
主题颜色定义了大多数 Flet 控件的回退颜色。
颜色调色板
Material Design 在 2014 年创建了颜色调色板,它们是旨在协调工作的颜色集合。
颜色 swatches(调色板)由某个颜色的不同阴影组成。大多数 swatches 都有从 100
到 900
的阴影值,以百为单位,另外还有 50
的阴影值。数字越小,颜色越浅。数字越大,颜色越暗。强调 swatches(例如 redAccent
)只有 100
、200
、400
和 700
的值。
此外,还有黑色和白色的常见不透明度值可用。例如,black54
是纯黑色,具有 54% 的不透明度。
调色板颜色可以用于设置单个控件的颜色属性或作为种子颜色生成主题颜色。
颜色不透明度
您可以使用 with_opacity
方法为任何颜色(十六进制值或命名颜色)指定不透明度。不透明度值应该在 0.0
(完全透明)和 1.0
(不透明)之间。
color = ft.colors.with_opacity(0.5, ft.colors.PRIMARY)
color = ft.colors.with_opacity(0.5, '#ff6666')