滚动视图不完全显示小部件

Scroll View does not show widgets completely

我制作了一个包含Scrollview 的简单应用程序。 在 Scrollview 中,我有 Gridlayout,它包含很多按钮。 但是我无法将网格布局一直向下滚动,好像它不允许我那样做。

代码:

from kivymd.app import MDApp
from kivy.uix.scrollview import ScrollView
from kivymd.uix.gridlayout import MDGridLayout
from kivymd.uix.button import MDFlatButton
from kivymd.uix.screen import Screen


class TestApp(MDApp):
    def build(self):
        screen = Screen()

        sv = ScrollView(size_hint_y=0.7, pos_hint={'x': 0, 'y': 0.1}, do_scroll_x=False,
                        do_scroll_y=True
                        )

        gl = MDGridLayout(size_hint=(None, None), cols=1, minimum_height=1, row_default_height=180,
                          row_force_default=True
                          )

        for i in range(20):
            gl.add_widget(MDFlatButton(text='text'))

        sv.add_widget(gl)

        screen.add_widget(sv)

        return screen


if __name__ == '__main__':
    TestApp().run()

您的 MDGridLayout 必须在添加子项时调整其大小。只需添加 adaptive_height=True:

    gl = MDGridLayout(size_hint=(None, None), cols=1, minimum_height=1, row_default_height=180,
                      row_force_default=True, adaptive_height=True
                      )