ภาพหน้าจอ Kivy Splash พร้อมเอฟเฟกต์จางลง

ฉันต้องการทราบวิธีสร้างหน้าจอสแปลชด้วย 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 วินาที แต่จะรอให้แอปเริ่มทำงาน ดังนั้นเมื่อแอปกำลังโหลดจึงมีเพียงหน้าต่างสีดำเท่านั้น


person Etienne Prothon    schedule 11.05.2016    source แหล่งที่มา


คำตอบ (1)


แอนดรอยด์/iOS:

Splashscreen ถูกใช้เป็นค่าเริ่มต้นบน python-for-android (presplash) คุณสามารถตั้งค่ารูปภาพใดก็ได้ตามที่คุณต้องการ ไม่รู้ว่ามันทำงานยังไงบน iOS แต่ฉันคิดว่ามีหน้าจอสแปลชด้วย


Windows/Linux/Mac/RPi:

ไม่มีสิ่งดังกล่าวอยู่บนสิ่งเหล่านี้ บางทีคุณอาจตั้งค่าบางอย่างด้วย PyInstaller เมื่อทำการบรรจุระบบปฏิบัติการ ไม่เช่นนั้นคุณจะต้องสร้างมันขึ้นมาเอง ฉันขอแนะนำให้คุณใช้ ScreenManager และ Transitions ของมันรวมกับ Clock หรืออาจจะ Animation - ขึ้นอยู่กับว่าคุณต้องการให้ภาพนั้นทำอะไร ตัวอย่าง

หากต้องการกำหนดระยะเวลาของการเปลี่ยนแปลง โปรดดูที่นี่ ซึ่งควรสามารถเข้าถึงได้ในช่วงการเปลี่ยนภาพเช่น FadeTransition(duration=1.5)

person Peter Badida    schedule 11.05.2016
comment
โอเค นั่นคือสิ่งที่ฉันคิดว่า :/ ฉันได้เพิ่มโค้ดที่ซูมไปที่แอปพลิเคชันโลโก้ของฉันเป็นเวลา 3 วินาทีแล้วหายไป ฉันปล่อยให้คำถามเปิดขึ้นหากวันหนึ่ง kivy อนุญาตให้เราสร้างหน้าจอสแปลชจริง ๆ ขอบคุณ - person Etienne Prothon; 12.05.2016