Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # 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()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement