Python Kivy. Как сделать так, чтобы раскрывающийся список не перекрывал кнопки снизу, а сдвигал их?
У меня такая проблема: есть список кнопок с выпадающими списками(идут они сверху вниз), но при нажатии на кнопку, выпадающий список перекрывает кнопки снизу, а не сдвигает их ниже. Подскажите, пожалуйста, как я могу реализовать этот сдвиг?
Ответы (1 шт):
Если список типа kivy.uix.dropdown, то кнопки внутри этого списка создаются в момент его открытия на отдельном layout-е, который именно рисуется поверх виджетов на нижнем слое.
Если нужно, чтобы список кнопок сдвинул всё, что находится дальше, то я бы не использовал dropdown, а поместил список самодельных кнопок в отдельный BoxLayout, например:
names = ['Кнопка первая', 'Кнопка вторая', 'Кнопка третья']
buttons = []
for n in names:
buttons.append(Button(text = n)
lay = BoxLayout(orientation = 'vertical')
for b in buttons:
lay.add_widget(b)
Чтобы скрыть список, нужно будет освободить Layout от виджетов с помощью:
lay.clear_widgets()
А сам BoxLayout с кнопками добавить в другой Layout рядом с кнопкой, открывающей/закрывающей список по функции on_release.