滚动视图不完全显示小部件
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
)
我制作了一个包含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
)