Ich habe in Kivy einen Spinner, der die Jahreszahlen von 2000 bis 2100 als values hat.
Wenn der Spinner geöffnet ist, kann man den Dropdown überscrollen, so dass man alle Zahlen nach oben oder unten verschiebt, also sozusagen das Ganze überscrollt wird.
Bei einem "normalen" ScrollView kann man mit
Code: Alles auswählen
from kivy.effects.scroll import ScrollEffect
self.ids.scroll_view.effect_cls = ScrollEffect
Kann man das auch in einen Spinner einbauen?
Mein Code kommt ursprünglich aus dem Netz. Habe ihn dann noch weiter präpariert:
Code: Alles auswählen
<NavBar@MDBoxLayout>:
datepicker: self.parent
spacing: dp(4)
Spinner:
values: root.datepicker.months
text: root.datepicker.months[root.datepicker.month - 1]
background_normal: ''
background_color: [112 / 255, 128 / 255, 144 / 255, .8]
dropdown_cls: 'SpinnerDropDownHeight'
option_cls: 'SpinnerDropDownOption'
on_text:
root.datepicker.month = root.datepicker.months.index(self.text) + 1
Spinner:
values: [str(i) for i in range(2000, 2100)]
background_normal: ''
background_color: [112 / 255, 128 / 255, 144 / 255, .8]
text: str(root.datepicker.year)
dropdown_cls: 'SpinnerDropDownHeight'
option_cls: 'SpinnerDropDownOption'
on_text:
root.datepicker.year = int(self.text)
<SpinnerDropDownHeight@DropDown>:
max_height: 325
<SpinnerDropDownOption@SpinnerOption>:
background_normal: ''
background_color: [77/255, 77/255, 88/255, 1]