如何在Kivy ScrollView中滚动GridLayout?
目前,这是我的kv代码,无法滚动:
BoxLayout: id: bl
orientation: 'vertical'
padding: 10, 10
row_default_height: '48dp'
row_force_default: True
spacing: 10, 10
GridLayout:
id: layout_content
cols: 1
row_default_height: '20dp'
row_force_default: True
spacing: 0, 0
padding: 0, 0
Label:
text: 'You don''t have any downloads. Please add new download from Home screen'
您如何使上面的kv代码可滚动?我知道Kivy
ScrollView仅接受一个孩子,并且我已经使GridLayout成为新ScrollView的孩子。但这不起作用。有什么建议吗?
回答:
根据ScrollView的文档,您必须至少禁用ScrollView的子size_hint之一:
<Controller>: layout_content: layout_content
BoxLayout:
id: bl
orientation: 'vertical'
padding: 10, 10
row_default_height: '48dp'
row_force_default: True
spacing: 10, 10
ScrollView:
size: self.size
GridLayout:
id: layout_content
size_hint_y: None
cols: 1
row_default_height: '20dp'
row_force_default: True
spacing: 0, 0
padding: 0, 0
Label:
text: "Lorem ipsum dolor sit amet"
并绑定布局的大小以适应自身:
# main.pyclass Controller(FloatLayout):
layout_content=ObjectProperty(None)
def __init__(self, **kwargs):
super(Controller, self).__init__(**kwargs)
self.layout_content.bind(minimum_height=self.layout_content.setter('height'))
以上是 如何在Kivy ScrollView中滚动GridLayout? 的全部内容, 来源链接: utcz.com/qa/399887.html