Skip to content

Instantly share code, notes, and snippets.

@KeyWeeUsr
Created September 27, 2016 15:57
Show Gist options
  • Save KeyWeeUsr/b6084e3e4c1ab2bd782511299cda05a7 to your computer and use it in GitHub Desktop.
Save KeyWeeUsr/b6084e3e4c1ab2bd782511299cda05a7 to your computer and use it in GitHub Desktop.
# License: CC0, do what you want.
from kivy.app import App
from kivy.properties import NumericProperty
from kivy.uix.screenmanager import ScreenManager, Screen
from kivy.lang import Builder
Builder.load_string('''
#:import random random.random
#:import SlideTransition kivy.uix.screenmanager.SlideTransition
#:import SwapTransition kivy.uix.screenmanager.SwapTransition
#:import WipeTransition kivy.uix.screenmanager.WipeTransition
#:import FadeTransition kivy.uix.screenmanager.FadeTransition
#:import RiseInTransition kivy.uix.screenmanager.RiseInTransition
#:import FallOutTransition kivy.uix.screenmanager.FallOutTransition
#:import NoTransition kivy.uix.screenmanager.NoTransition
#:import Clock kivy.clock.Clock
<ScreenManager>:
CustomScreen:
name: 'Screen 0'
CustomScreen:
name: 'Screen 1'
CustomScreen:
name: 'Screen 2'
CustomScreen:
name: 'Screen 3'
CustomScreen:
name: 'Screen 4'
<CustomScreen@ButtonBehavior+Screen>:
hue: random()
tran:
[SlideTransition(direction="up"),SlideTransition(direction="down"),
SlideTransition(direction="left"),SlideTransition(direction="right"),
SwapTransition(),FadeTransition(),WipeTransition(),FallOutTransition(),
RiseInTransition(),NoTransition(duration=0)]
on_release: print('Playing')
on_release: self.parent.tran = self.tran
on_release: Clock.schedule_interval(app.animate, 2.0)
canvas:
Color:
hsv: random(), 0.5, 0.3
Rectangle:
size: self.size
Label:
font_size: 42
text: root.name
size_hint: None, None
size: 100,100
pos: root.center_x - 50, root.center_y - 50
''')
class ScreenManagerApp(App):
def animate(self, dt):
if 'SlideTransition' in str(self.root.tran[0]):
self.root.tran.reverse()
self.root.transition = self.root.tran.pop()
self.root.current = self.root.next()
def build(self):
self.root = ScreenManager()
return self.root
if __name__ == '__main__':
from kivy.core.window import Window
Window.size = (450, 450)
ScreenManagerApp().run()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment