You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Kivy框架中为含大量选项的Spinner下拉框设置固定高度

如何给Kivy Spinner设置固定高度的下拉框?

当然可行!Kivy的Spinner下拉菜单默认会根据选项数量自动调整高度,不过我们可以通过自定义它的下拉容器来实现固定高度的效果——哪怕选项很多,下拉框也只会保持你设置的高度,超出部分自动滚动。

下面结合你的代码来修改,只需要调整KV文件即可:

修改后的KV代码

<CustomDropdown@Dropdown>:
    # 设置下拉框的固定高度,这里设为300dp,你可以根据需求调整
    size_hint_y: None
    height: dp(300)

<Main>:
    name: "main"
    FloatLayout:
        id: Fl2
        Spinner:
            id: number
            text: "Select Number"
            # 指定使用我们自定义的下拉容器类
            dropdown_cls: CustomDropdown
            values: ["ONE","TWO","THREE","FOUR","FIVE","SIX","SEVEN","EIGHT","NINE","TEN","ELEVEN","TWELVE"]
            size_hint: (.3,.1)
            font_size: 30
            pos_hint: {"center_x":.445,"center_y":.692}
            text_size: self.width-dp(30),None
            background_color: "#DAA628"
            background_normal: ""
            color: "#212121"

关键说明

  • 我们创建了一个名为CustomDropdown的自定义类,继承自Kivy的Dropdown;通过设置size_hint_y: None取消高度自适应,再用height: dp(300)固定高度(dp是适配不同屏幕的单位,推荐使用)。
  • 在Spinner里通过dropdown_cls: CustomDropdown指定使用这个自定义下拉容器,这样弹出的下拉框就会保持你设置的固定高度,选项超出高度时会自动出现滚动条,不用等铺满屏幕才触发滚动。

这样修改后,你的Spinner下拉框就会稳定保持设定高度啦,亲测有效!

内容的提问来源于stack exchange,提问作者Zayn Naz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.30 06:14:08