Я пытаюсь проверить разницу в наличии пакета kivy. Windows внутри класса и вне класса (чтобы попытаться решить возникшую у меня проблему: Kivy TextInput выше Android клавиатура, однако остальная часть экрана остается там, где она ).
Поэтому я пытаюсь проверить, есть ли у меня два отдельных FloatLayouts в двух классах, могу ли я контролировать только один из них. Однако, что я заметил, так это то, что если я включаю оба FloatLayouts в один и тот же класс, он отображает все нормально, но если я пытаюсь разместить их в двух отдельных классах, верхний исчезает, и как бы я ни менял позицию, я могу Я не вижу этого на моем экране. Почему это происходит?
Вот мой файл .py:
from kivy.app import App
from kivy.lang import Builder
from kivy.uix.widget import Widget
from kivy.uix.boxlayout import BoxLayout
from kivy.uix.floatlayout import FloatLayout
from kivy.core.window import Window
#Window.softinput_mode = "below_target"
class Header(FloatLayout):
pass
class TestBox(FloatLayout):
pass
kv = Builder.load_file("rec_view.kv")
class RVTestApp(App):
def build(self):
return TestBox()
#return kv
if __name__ == "__main__":
RVTestApp().run()
Вот мой файл .kv:
<Header>:
FloatLayout:
Label:
pos_hint: {'center_x': 0.5, "top": 0.1}
size_hint: (0.2, 0.5)
font_size: 40
text: "TEXT AT TOP OF SCREEN"
<TestBox>:
FloatLayout:
TextInput:
pos_hint: {"x": 0.1, "y": 0.05}
size_hint: (0.3, 0.05)
multline:False
Button:
text: "CHECK BUTTON FOR ANSWERS AT BOTTOM OF SCREEN"
pos_hint: {"x": 0.6, "y": 0.05}
size_hint: (0.3, 0.05)
Я думал, что это изначально, потому что я возвращал TestBox (), но даже если я возвращаю Header () или kv, он показывает пустое значение.
Любая помощь будет принята с благодарностью!