Python Carousel在windows中运行良好,但在android中会卡住
我的(Kivy)gui应用程序中有一个旋转木马视图,当我在win10和ubunutu上运行代码时,它工作得非常好,但是每当buildozer将它打包到apk文件中,我安装它,然后在我的手机上运行它时,旋转木马就会卡在第一张幻灯片上,不会向左或向右移动。(即使是Python Carousel在windows中运行良好,但在android中会卡住,python,android,kivy,carousel,Python,Android,Kivy,Carousel,我的(Kivy)gui应用程序中有一个旋转木马视图,当我在win10和ubunutu上运行代码时,它工作得非常好,但是每当buildozer将它打包到apk文件中,我安装它,然后在我的手机上运行它时,旋转木马就会卡在第一张幻灯片上,不会向左或向右移动。(即使是load.next()和load.previous()方法) 在Carousel的sildes中有scrollview,在scrollview中有GridLayouts,我认为问题在于GridLayout的高度。因为昨天经过了16/17轮的
load.next()
和load.previous()
方法)
在Carousel的
sildes中有scrollview
,在scrollview中有GridLayouts
,我认为问题在于GridLayout的
高度。因为昨天经过了16/17轮的试错,我改变了GridLayout的行默认高度和旋转木马的工作(即使是在android中),它左右移动,但位置不正确。在尝试修复Gridlayout的
pos
时,我不仅无法修复它,还忘记了旋转木马的修复
这是我目前的工作:
class NotSameButSimilar(Carousel):
def __init__(self, **kwargs):
super(NotSameButSimilar, self).__init__(**kwargs)
Clock.schedule_once(self.pst_nt, 0)
self.loop = True
self.min_move = 1
def refresh(self):
self.pst_nt(None)
refresh_pop()
def pst_nt(self, dt):
self.clear_widgets()
dn.load()
for k, v in dn.DND.items(): #dn is another class where data is imported from(json)
self.upbarBL = BoxLayout(size_hint=(1, .1),
spacing=1,
padding=1)
self.mainkeylbl = DNVLabel(text=str(k),
font_size='13sp',
size_hint=(.85, 1))
self.deltbtn = Button(text='X',
font_size='14sp',
background_color=(1, .2, 0, 1),
size_hint=(.15, 1))
self.deltbtn.bind(on_release=lambda *args, key=k: dn.delete_delivery_note(key))
self.nextbtn = DNVButton(text='>',
size_hint=(.2, 1),
on_release=lambda x: self.load_next())
self.backbtn = DNVButton(text='<',
size_hint=(.175, 1),
on_release=lambda x: self.load_previous())
self.refrbtn = DNVButton(text='Frissit',
size_hint=(.3, 1))
self.refrbtn.bind(on_press=lambda x: self.refresh())
self.bl1 = BoxLayout(size_hint=(1, .08),
padding=1,
spacing=1)
self.bl2 = BoxLayout(size_hint=(1, .9))
self.bl3 = BoxLayout(size_hint=(1, .15),
orientation='vertical',
spacing=1,
padding=1)
#the problemtic stuff is here
self.sc = ScrollView(do_scroll_x=False,
do_scroll_y=True,
size_hint=(1, 1),
pos_hint={'x': 0, 'y': 0})
self.scgl = GridLayout(row_force_default=True,
row_default_height='30dp',
cols=1,
spacing=(3, 2))
self.scgl.bind(minimum_height=self.scgl.setter('height'))
# i have added all the widgets to their correct parent widgets
# for abbreviation reasons i didnt include all the code(its too long)
class notsamebutsimular(旋转木马):
定义初始(自我,**kwargs):
超级(不相同但相似,自我)。\uuuuu初始值(**kwargs)
时钟。计划一次(self.pst\n,0)
self.loop=True
self.min\u move=1
def刷新(自我):
self.pst\n(无)
刷新_pop()
def pst(自身,dt):
self.clear_widgets()
dn.load()
对于k,dn.DND.items()中的v:#dn是从中导入数据的另一个类(json)
self.upbarBL=BoxLayout(大小提示=(1.1),
间距=1,
填充=1)
self.mainkeylbl=DNVLabel(text=str(k),
font\u size='13sp',
大小提示=(.85,1))
self.deltbtn=按钮(text='X',
font\u size='14sp',
背景颜色=(1,2,0,1),
大小提示=(.15,1))
self.deltbtn.bind(在发布时=lambda*args,key=k:dn.delete\u delivery\u note(key))
self.nextbtn=DNVButton(text='>',
大小提示=(.2,1),
on_release=lambda x:self.load_next())
self.backbtn=DNVButton(text=)