Kivy Splash屏幕图像,淡入效果

时间:2016-05-11 14:37:05

标签: kivy splash-screen

我想知道如何使用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秒后消失,但它等待应用程序启动,因此当应用程序加载时,只有一个黑色的窗口。

1 个答案:

答案 0 :(得分:2)

<强>的Android / iOS装置:

默认情况下,在python-for-android(presplash)上使用Splashscreen,你可以设置你喜欢的任何图像。不知道ios是如何工作的,但我认为也有闪屏。


视窗/ Linux的/ MAC / RPI:

这些都不存在。也许你可以在为操作系统打包时用PyInstaller设置一些东西,否则你需要自己制作。我可以建议您使用ScreenManager,其Transitions结合Clock或甚至Animation - 取决于您希望该图片执行的操作。 Example

设置转换外观here的长度,该转换外观应在转换中可访问,例如FadeTransition(duration=1.5)