CupertinoPicker
一个 iOS 风格的选择器。
要打开此控件,只需调用page.open()
辅助方法。
示例
基本示例
- Python
import flet as ft
def main(page):
page.horizontal_alignment = ft.CrossAxisAlignment.CENTER
selected_fruit_ref = ft.Ref[ft.Text]()
fruits = [
"Apple",
"Mango",
"Banana",
"Orange",
"Pineapple",
"Strawberry",
]
def handle_picker_change(e):
selected_fruit_ref.current.value = fruits[int(e.data)]
page.update()
cupertino_picker = ft.CupertinoPicker(
selected_index=3,
magnification=1.22,
squeeze=1.2,
use_magnifier=True,
on_change=handle_picker_change,
controls=[ft.Text(value=f) for f in fruits],
)
page.add(
ft.Row(
tight=True,
controls=[
ft.Text("Selected Fruit:", size=23),
ft.TextButton(
content=ft.Text(value=fruits[3], ref=selected_fruit_ref, size=23),
style=ft.ButtonStyle(color=ft.colors.BLUE),
on_click=lambda e: page.open(
ft.CupertinoBottomSheet(
cupertino_picker,
height=216,
padding=ft.padding.only(top=6),
)
),
),
],
),
)
ft.app(target=main)
属性
bgcolor
选择器的背景颜 色。
controls
表示此选择器中项目的控件列表。
diameter_ratio
此选择器的高度与模拟圆柱直径的相对比率。
较小的值会在可滚动的轮子中创建更明显的曲率。
item_extent
所有子项的统一高度。默认为 32
。
looping
如果为 True
,则轮子上的子项可以循环滚动。默认为 False
。
magnification
如果使用放大镜,其放大率。
如果该值大于 1.0 ,中心的项目将按该比率放大,并且它也将被渲染为平面,不像列表的其余部分那样是圆柱形的。 如果放大率小于 1.0 ,项目将缩小。
默认值为 1.0 - 正常。
off_axis_fraction
轮子水平偏离中心的程度,作为其宽度的比例。
selected_index
controls
列表中所选项目的索引(从 0 开始)。
squeeze
轮子上子项的角度紧凑度。
use_magnifier
是否使用轮子中心项的放大镜。
事件
on_change
选择更改时触发。