Как задать размер отдельным элементам GridLayout?

Хочу задать разные height элементам списка, но Grid игнорирует размеры элементов и ставит одинаковую для всех height 120, даже прописанный row_force_default=False не помогает.

Вот как это происходит.

Заполняю Grid циклом из разных элементов Button, ToggleButton, Image и Label. Код Grid:

self.layout = GridLayout(cols=1,rows=0, padding=10, spacing=0, 
                        width=Window.width,size_hint=(None, None), 
                        row_force_default=False, row_default_height=120)

Потом просто запихиваю Grid в ScrollView для прокрутки:

root = ScrollView(size_hint=(None, None), size=(Window.width, Window.height),
                  pos_hint={'center_x': .5, 'center_y': .5}, do_scroll_x=False)

Ответы (1 шт):

Автор решения: Karlson21

В .py можно так:

class MyApp(App):
    def build(self):
        grid = GridLayout(cols=3)
        grid.add_widget(Button(text='first'))
        grid.add_widget(Button(text='second'))
        anchor = AnchorLayout()
        anchor.add_widget(Button(size_hint_x=None, height=100, text='third'))
        grid.add_widget(anchor)
        return grid

MyApp().run()
→ Ссылка