Kivy 为具有多个值的 Spinner Dropdown 设置高度

Kivy Setting height for a Spinner Dropdown with many values

在这段代码中,我需要将微调器下拉菜单调整到特定高度...通常当我添加很多值时它只是覆盖屏幕然后有滚动视图...但我需要修复它到一个特定的高度……这可能吗?如果可以,怎么做?

主要代码:

from kivy.app import App
from kivy.uix.button import Button
from kivy.uix.label import Label
from kivy.uix.gridlayout import GridLayout
from kivy.lang import Builder
from kivy.uix.widget import Widget
from kivy.uix.screenmanager import Screen,ScreenManager


class Main(Screen):
    pass
class Manager(ScreenManager):
    pass
kv=Builder.load_file("test2.kv")
screen=Manager()
screen.add_widget(Main(name="main"))

class Test(App):
    def build(self):
        return screen

Test().run()

Kv代码:

<Main>:
    name: "main"
    FloatLayout:
        id: Fl2
        Spinner:
            id: number
            text: "Select Number"
            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"

Output Here

Expected Output

Spinner 小部件允许您指定将用于显示选项列表的 dropdown_cls。因此,您可以只指定一个 dropdown_cls 具有 max_height 属性 集:

<MyDropDown@DropDown>:
    max_height: 100

<Main>:
    name: "main"
    FloatLayout:
        id: Fl2
        Spinner:
            id: number
            text: "Select Number"
            dropdown_cls: 'MyDropDown'  # specify class for DropDown 
            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"