正如标题所示,我希望在scrollview中有一个scrollview。我尝试了以下操作,但第二个滚动视图根本没有出现:
from kivymd.app import MDApp
from kivy.lang import Builder
KV = '''
<MyTile@SmartTileWithStar>
size_hint_y: None
height: "240dp"
ScrollView:
MDGridLayout:
cols: 3
adaptive_height: True
padding: dp(4), dp(4)
spacing: dp(4)
MyTile:
stars: 5
source: "cat-1.jpg"
MyTile:
stars: 5
source: "cat-2.jpg"
MyTile:
stars: 5
source: "cat-3.jpg"
ScrollView:
MDGridLayout:
cols: 3
adaptive_height: True
padding: dp(4), dp(4)
spacing: dp(4)
MyTile:
stars: 5
source: "cat-1.jpg"
MyTile:
stars: 5
source: "cat-2.jpg"
MyTile:
stars: 5
source: "cat-3.jpg"
'''
class MyApp(MDApp):
def build(self):
return Builder.load_string(KV)
MyApp().run()
这是不允许的吗?因为当前的scrollview位于RecycleView中,并且工作正常
同样的问题我已经回答了很多次了,但一开始我没有意识到。问题是
adaptive_height: True
意味着MDGridLayout
查询其子代的身高,并使用该身高计算最小身高。在您的例子中,内部ScrollView
的默认值为size_hint
(即(1,1)
)。无论何时使用adaptive_height
(或height: self.minimum_height
),都必须确保子项具有明确定义的高度。由于内部ScrollView
没有明确定义的高度,因此MDGridLayout
将其高度指定为零。下面是您的kv
的一个片段,其中有一个可能的修复:这将内部
ScollView
的height
指定为内部MDGridLayout
的height
相关问题 更多 >
编程相关推荐