Выпадающий список Kivy 1.10.1 с scrollview не может прокручиваться при касании

#python #kivy #scrollview #dropdown #buildozer

#python #kivy #scrollview #выпадающий список #buildozer

Вопрос:

Код отлично работает с kivy 1.9.1, но не с kivy master или 1.10.1

код:

 DropDown:
    auto_width: False
    id: colors
    size: (root.width, 100)
    ScrollView:
        bar_width: 5
        do_scroll_y: False
        do_scroll_x: True
        height: 100
        size_hint_y: None
        GridLayout:
            id: colors_scroll
            rows: 1
            spacing: 0
            width: self.minimum_width
            size_hint: None, None
            30Buttons:
                size_hint: None, None
                size: 100,100
  

Любая помощь будет оценена. Спасибо!

Ответ №1:

Выпадающий виджет в настоящее время уже унаследован от ScrollView.

Попробуйте добавить следующее в ScrollView:

     effect_cls: "ScrollEffect"
    scroll_type: ['bars']
  

Пример

main.py

 from kivy.uix.dropdown import DropDown
from kivy.uix.button import Button
from kivy.base import runTouchApp
from kivy.lang import Builder

Builder.load_string("""
#:import Button kivy.uix.button.Button

<CustomDropDown>:
    bar_width: 10
    effect_cls: "ScrollEffect"
    scroll_type: ['bars']
    bar_color: [1, 0, 0, 1]     # red color
    bar_inactive_color: [0, 0, 1, 1]    # blue color

    GridLayout:
        cols: 1
        size_hint_y: None
        height: self.minimum_size[1]

        on_parent:
            for i in range(1, 30): 
                txt = "{0}".format(i); 
                btn=Button(text=txt, size_hint_y=None, height=40); 
                btn.bind(on_release=lambda btn: self.select(btn.text)); 
                self.add_widget(btn)

""")


class CustomDropDown(DropDown):
    pass


dropdown = CustomDropDown()
mainbutton = Button(text='Hello', size_hint=(None, None))
mainbutton.bind(on_release=dropdown.open)
dropdown.bind(on_select=lambda instance, x: setattr(mainbutton, 'text', x))

runTouchApp(mainbutton)
  

Вывод

Выпадающий список - полоса прокрутки неактивна
Выпадающий список - полоса прокрутки активна

Комментарии:

1. Не то, что я искал, но это более чем идеально, это дало мне несколько идей. Спасибо!!!