我想知道如何使用kivy制作闪屏,并在淡入淡出时显示图片几秒钟。
我能做的最好的就是这段代码:
class MyApp(App):
def __init__(self, **kwargs):
super(MyApp, self).__init__(**kwargs)
self.splash_screen_image = Image(source='images/pyrat_icon.png', size=(0, 0))
Clock.schedule_once(self.start_anim, .01)
def build(self):
self.main_widget = MainWidget()
return self.main_widget
def start_anim(self, dt):
self.splash_screen_image.pos = (self.main_widget.center_x, self.main_widget.center_y)
self.main_widget.add_widget(self.splash_screen_image)
animation = Animation(x=self.main_widget.center_x - 35, y=self.main_widget.center_y - 35, height=70, width=70, d=2,
t='in_quad')
animation.start(self.splash_screen_image)
Clock.schedule_once(self.end_anim, 3)
def end_anim(self, dt):
self.main_widget.remove_widget(self.splash_screen_image)
这会在屏幕上显示我的徽标并在3秒后消失,但它等待应用程序启动,因此当应用程序加载时,只有一个黑色的窗口。
答案 0 :(得分:2)
<强>的Android / iOS装置:强>
默认情况下,在python-for-android(presplash)上使用Splashscreen,你可以设置你喜欢的任何图像。不知道ios是如何工作的,但我认为也有闪屏。
的视窗/ Linux的/ MAC / RPI:强>
这些都不存在。也许你可以在为操作系统打包时用PyInstaller设置一些东西,否则你需要自己制作。我可以建议您使用ScreenManager
,其Transitions
结合Clock
或甚至Animation
- 取决于您希望该图片执行的操作。 Example
设置转换外观here的长度,该转换外观应在转换中可访问,例如FadeTransition(duration=1.5)