Вы делаете это правильно. ScrollView
позволяет вам прокручивать, чтобы увидеть части вашего GridLayout
, которые не вписываются в ScrollView
. Когда вы устанавливаете size_hint
на (1, .7)
, все вписывается в ScrollView
, поэтому оно не прокручивается.
Вы можете принудительно прокрутить, добавив Widgets
, чтобы занять больше места (например, Labels
без текста):
<Root>:
ScrollView:
size_hint: 1, .7
GridLayout:
size_hint_y: None
cols: 1
height: self.minimum_height
Label:
text: ''
size_hint_y: None
height: 300
Button
text: 'one'
size_hint: 1, None
height: self.texture_size[1]
Button:
text: 'two'
size_hint: 1, None
height: self.texture_size[1]
Button:
text: 'three'
size_hint: 1, None
height: self.texture_size[1]
Button:
text: 'four'
size_hint: 1, None
height: self.texture_size[1]
Label:
text: ''
size_hint_y: None
height: 300