FloatLayout
はScrollView
の子としてsize_hint_y
をNone
に設定しました。ますます多くのコンテンツを追加するにつれて、私はそれを拡張できるようにしたいと考えています。問題は、Kivyの座標系が左下から始まるため、FloatLayout
の高さに追加すると、すべてのコンテンツが最下部にとどまることです。どういたしましてそれを伸ばすことができますか?なぜなら、すべてのウィジェットを動かすことは効率的だと思います。特に、たくさんのウィジェットがあると、すべてのウィジェットの位置を処理する必要があります。ビューが伸び、ラベルが下にとどまるが、私はそれが上に滞在したいと思い、ボタンを押すだけでKivy ScrollViewのコンテンツを下に拡大
from kivy.app import App
from kivy.uix.floatlayout import FloatLayout
from kivy.uix.boxlayout import BoxLayout
from kivy.uix.button import Button
from kivy.uix.scrollview import ScrollView
from kivy.uix.label import Label
class TestApp(App):
def extend_h(self, *args):
global msg_float
msg_float.height += 50
def build(self):
global msg_float
msg_float = FloatLayout(size_hint_y = None)
bt1_main = Button(on_press = self.extend_h)
bl = BoxLayout()
sc = ScrollView()
sc.add_widget(msg_float)
bl.add_widget(sc)
bl.add_widget(bt1_main)
lb = Label(text = "Test",
size=(100,200),
size_hint = (None, None))
msg_float.add_widget(lb)
return bl
TestApp().run()
:
は、ここで問題行動を説明するスニペットです。