kivy: fix animate_to_center
This commit is contained in:
parent
1b0e29d385
commit
4195001aed
@ -380,20 +380,9 @@ class TabbedCarousel(Factory.TabbedPanel):
|
|||||||
scrlv = self._tab_strip.parent
|
scrlv = self._tab_strip.parent
|
||||||
if not scrlv:
|
if not scrlv:
|
||||||
return
|
return
|
||||||
|
|
||||||
idx = self.tab_list.index(value)
|
idx = self.tab_list.index(value)
|
||||||
if idx == 0:
|
n = len(self.tab_list)
|
||||||
scroll_x = 1
|
scroll_x = 1. * (n - idx - 1) / (n - 1)
|
||||||
elif idx == len(self.tab_list) - 1:
|
|
||||||
scroll_x = 0
|
|
||||||
else:
|
|
||||||
self_center_x = scrlv.center_x
|
|
||||||
vcenter_x = value.center_x
|
|
||||||
diff_x = (self_center_x - vcenter_x)
|
|
||||||
try:
|
|
||||||
scroll_x = scrlv.scroll_x - (diff_x / scrlv.width)
|
|
||||||
except ZeroDivisionError:
|
|
||||||
pass
|
|
||||||
mation = Factory.Animation(scroll_x=scroll_x, d=.25)
|
mation = Factory.Animation(scroll_x=scroll_x, d=.25)
|
||||||
mation.cancel_all(scrlv)
|
mation.cancel_all(scrlv)
|
||||||
mation.start(scrlv)
|
mation.start(scrlv)
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user