KivyのScrollViewが複数あったとして、それらのスクロール量を同期させるためのコードを書いているのですが、リアルタイムで同期するにはどのようなコードを書けば良いですか?
私のコードでは、下記のようにscroll_yを別なscrollviewに値を入れてますが、
こうすると、まずスクロールがおかしくなります。たどたどしいというか。
それに、タッチアップし、再度タッチしなければscroll_yが同期されません。
回答お願いします。
簡単なサンプルコードを追加しました。
python
1from kivy.app import App 2from kivy.lang import Builder 3from kivy.uix.scrollview import ScrollView 4from kivy.properties import ObjectProperty 5 6class Scroll_A(ScrollView): 7 scroll_b = ObjectProperty(None) 8 def on_scroll_move(self, touch): 9 self.scroll_b.scroll_y = self.scroll_y 10 11class Scroll_B(ScrollView): 12 def on_scroll_move(self, touch): 13 pass 14 15Mykv = ''' 16GridLayout: 17 cols: 2 18 spacing: 100, 100 19 padding: 50, 50, 50, 50 20 Scroll_A: 21 id: scroll_a 22 scroll_b: scroll_b 23 do_scroll_y: True 24 pos_hint: {'top': 1} 25 Label: 26 size_hint_y: None 27 text_size: self.width, None 28 color: 1,1,1,1 29 height: self.texture_size[1] 30 text: 'X' * 1000 31 Scroll_B: 32 id: scroll_b 33 do_scroll_y: True 34 pos_hint: {'top': 1} 35 Label: 36 size_hint_y: None 37 text_size: self.width, None 38 color: 1,1,1,1 39 height: self.texture_size[1] 40 text: 'Y' * 1000 41''' 42 43class MyApp(App): 44 45 def build(self): 46 return Builder.load_string(Mykv) 47 48if __name__ == '__main__': 49 MyApp().run()
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。