Spinner soll nicht überscrollen

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
DMD-OL
User
Beiträge: 327
Registriert: Samstag 26. Dezember 2015, 16:21

Hallo Ihr Hasen
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
dem Überscrollen entgegenwirken, (was ich bereits an anderer Stelle eingebaut habe).
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]
Antworten