ウィジェットのセットを ModalView に追加しkivy
て、モーダル ウィンドウがすべてのコンテンツに動的に収まるようにする適切な方法は何ですか?
次のスクリプト例があります。
#!/usr/bin/env python3
import kivy
from kivy.uix.modalview import ModalView
from kivy.lang import Builder
from kivy.app import App
KV = """
BoxLayout:
ModalView:
size_hint: 0.9, None
BoxLayout:
orientation: 'vertical'
Label:
text: 'Dialog Title'
font_size: 30
Label:
text: "Lorem ipsum dolor sit amet, consectetur adipiscing elit."
Label:
text: "Lorem ipsum dolor sit amet, consectetur adipiscing elit."
Label:
text: "Lorem ipsum dolor sit amet, consectetur adipiscing elit."
Label:
text: "Lorem ipsum dolor sit amet, consectetur adipiscing elit."
StackLayout:
orientation: 'rl-tb'
Button:
text: "OK"
size_hint: None, None
size: self.texture_size
padding: '8dp', '8dp'
Button:
text: "Cancel"
size_hint: None, None
size: self.texture_size
padding: '8dp', '8dp'
"""
class MyApp(App):
def build(self):
return Builder.load_string( KV )
MyApp().run()
kivy langauge が説明しているように、モーダルをアプリの幅 90% で表示し、モーダルのすべてのコンテンツに合わせて高さを動的に調整する必要があります。
モーダルのコンテンツは、その下に一連の「本文」ラベルを持つ「タイトル」ラベルにする必要があります。これらのラベルの下には、同じ行に表示される 2 つのボタンがあります。かなり簡単です。
しかし、これは私が得るものです:
上の画像が示していることに注意してください。
- ボタンはほとんどモーダルの外にあります
- タイトル ラベルは部分的に下のラベルの上にあります (これは BoxLayout の動作方法ではありません)。
- タイトル ラベルも部分的にモーダルの外側にあります
モーダルのコンテンツが期待どおりに表示されるように、このスクリプトを修正するにはどうすればよいですか?