缺少回收视图小部件

Missing Recycle View widget

我需要创建一个自动填充应用程序,我在顶部有一个标签和文本输入,在底部有一个回收视图。但是,当我 运行 程序时,回收视图消失了,即使我已经在字符串中设置了。此应用程序将通过在文本输入中键入名称来方便搜索内容,相关内容将出现在回收视图中,因此用户无需查看冗长的内容列表。

from kivy.app import App
from kivy.lang import Builder
from kivy.core.window import Window
from kivy.uix.recycleview import RecycleView
from kivy.uix.boxlayout import BoxLayout

Window.size = (350, 600)

Builder.load_string('''
<MyLayout>:
    BoxLayout:
        orientation: "vertical"
        spacing: 10
        padding: 10

        Label :
            text : 'Favourite Pizza'
           
        TextInput :
            font_size: 30
            focus: True
            multiline : False
           
        <RV>:    
            RecycleBoxLayout:   
                viewclass: 'TextInput'        
                default_size: None, 30
                default_size_hint: 1, None
                size_hint_y: .8
                height: self.minimum_height
                orientation : 'vertical'  
                  
''')

class MyLayout(BoxLayout):
    pass

class RV(RecycleView):  
    def __init__(self, **kwrgs):
        super(RV, self).__init__(**kwrgs)
        content = ["Pepperoni", "Cheese","Papper", "Hawaii", "Seafood", 
        "Ham", "Taco", "Onion"]
        self.data = [{'text':item} for item in content]     
        print(content)

class MainApp(App):
    title='Search App'
    def build(self):
        Window.clearcolor = (51/255, 153/255, 1, 1) 
        return MyLayout()    
   
MainApp().run()

我应该怎么做才能获得完整视图(标签、文本输入和回收视图)?我想输入一个输入文本,相关内容会出现在回收视图中,我可以使用回收视图来达到这个目的吗?我可以同时使用 BoxLayout 和 RecycleBoxLayout 吗,因为它指的是不同的小部件?

首先,动态类必须与root处于同一级别。

其次,为了让RecycleView垂直增长,在这里,你必须将RecycleBoxLayoutsize_hint_y设置为None。因此,您的 kvlang 现在应该看起来像

<MyLayout>:
    BoxLayout:
        orientation: "vertical"
        spacing: 10
        padding: 10

        Label :
            text : 'Favourite Pizza'
           
        TextInput :
            font_size: 30
            focus: True
            multiline : False
           
        RV:


<RV>:
    viewclass: 'TextInput'
    RecycleBoxLayout:
        default_size: None, 30
        default_size_hint: 1, None
        size_hint_y: None
        height: self.minimum_height
        orientation : 'vertical'