<p>无法滚动是由于对Kivy的<code>touch</code>处理程序的误解。与我问题中提到的代码完全无关。在</p>
<p>关键是要使<code>GridLayout</code>大于<code>ScrollView</code>,因此{<cd2>}可以在<code>ScrollView</code>内平移。在</p>
<p>对于那些希望在<code>ScreenManager</code>内使用<code>ScrollView</code>的用户,请仅使用kvlang:</p>
<pre><code>ScreenManager:
id: screen_manager
Screen:
manager: screen_manager
id: main_screen
name: 'main'
ScrollView:
bar_width: 4
# pos_hint defaults to 1,1 so no need to declare it
GridLayout:
size_hint_y: None
cols: 1
# you do not need to manually bind to setter('height') in
# python - perfectly possible with kv lang
# this allows for height to update depending on the
# collective heights of its child widgets
height: self.minimum_height
< - widgets here ->
# for scroll to show/work there must be more widgets
# then can fit root.height. If not there is no need
# for scrollview :)
</code></pre>