我创建了一个用于语言选择的下拉菜单。但是,由于有很多语言选项,我需要使下拉菜单可滚动。
self.language_dropdown.clear_widgets()
for root, dirs, files in os.walk('lang/'):
for file in files:
filename, extension = os.path.splitext(file)
if extension == '.csv':
btn = CustomDropDownButton(size_hint_y=None, height=57)
btn.lbl.text = self.dictLanguage[filename]
btn.bind(on_release=lambda btn: self.language_dropdown.select(btn.lbl.text))
self.language_dropdown.add_widget(btn)
Clock.schedule_once(btn.draw_background, 0)
self.mainbutton.bind(on_release=self.language_dropdown.open)
self.language_dropdown.bind(on_select=lambda instance, x: setattr(self.mainbutton.lbl, 'text', x))
self.mainbutton.lbl.text = self.dictLanguage[self.config['GUI'].get('language')]
Clock.schedule_once(self.mainbutton.draw_background, 0)
这是我用过的,这与Kivy文档建议的方式非常相似。问题是,我无法将下拉列表放到滚动视图中,因为以dropdown.open()
的方式打开了下拉列表。
我想知道是否有一种很好的方法可以使它可滚动,以便可以在下拉菜单中放置许多语言选项。