Kivy Multiple Screen Transitions not taking place
<p>I am trying to builng a multiple screen kivy app in python. There are no compile time errors. App Compiles successfully. I am using Screen Manager in kivy to achieve multiple screens. On clicking the buttons no transitions are taking place. Please help me perform transitions. Here are actual snippets of my code.</p>

<p><strong>main.py file</strong></p>

<pre><code>import kivy

from kivy.app import App
from kivy.app import ObjectProperty
from kivy.uix.boxlayout import BoxLayout
from kivy.uix.screenmamager import ScreenManager, Screen

class LoginScreen(Screen):
    pass

class SignUpScreen(Screen):
    pass

class MainScreen(BoxLayout):
    pass

class MyScreenManager(ScreenManager):
    pass

class AuthenticationApp(App):
    def build(self):
        return MyScreenManager()

if __name__ == '__main__':
    AuthenticationApp().run()
</code></pre>

<p><strong>Authentication.kv file</strong></p>

<pre><code>&lt;MyScreenManager&gt;
    MainScreen:
    SecondScreen:

&lt;SecondScreen&gt;:
    name: 'Second'
    BoxLayout:
        orientation: 'vertical'

        canvas:
            Rectangle: 
                source: 'images/blue.png'
                pos: self.pos
                size: self.size

        BoxLayout:
            orientation: 'vertical'
            size_hint: 1,0.25

            Label:
                text: 'Vigilantdsjkadhakjshdakjsd Dollop'
                font_size: '15sp'
                size_hint: 1, 0.20 


            BoxLayout:
                orientation: 'horizontal'
                size_hint: 1, 0.1

                Button: 
                    id: login_button
                    text: 'Login'
                    font_size: '15sp'
                    on_release: app.root.current = 'Main'

                Button: 
                    id: login_button
                    text: 'Sign Up'
                    font_size: '15sp'

                Button: 
                    id: login_button
                    text: 'Recover'
                    font_size: '15sp'

                Button: 
                    id: login_button
                    text: 'Reset'
                    font_size: '15sp'

        BoxLayout:
            orientation: 'vertical'
            size_hint: 1,0.75

            Button: 
                text: 'Page'



&lt;MainScreen&gt;:
    name: 'Main'
    BoxLayout:
        orientation: 'vertical'

        canvas:
            Rectangle: 
                source: 'images/blue.png'
                pos: self.pos
                size: self.size

        BoxLayout:
            orientation: 'vertical'
            size_hint: 1,0.25

            Label:
                text: 'Vigilant Dollop'
                font_size: '15sp'
                size_hint: 1, 0.20 


            BoxLayout:
                orientation: 'horizontal'
                size_hint: 1, 0.1

                Button: 
                    id: login_button
                    text: 'Login'
                    font_size: '15sp'

                Button: 
                    id: login_button
                    text: 'Sign Up'
                    font_size: '15sp'
                    on_press: root.current = 'Second'

                Button: 
                    id: login_button
                    text: 'Recover'
                    font_size: '15sp'

                Button: 
                    id: login_button
                    text: 'Reset'
                    font_size: '15sp'

        BoxLayout:
            orientation: 'vertical'
            size_hint: 1,0.75

            Button: 
                text: 'Page'
</code></pre>

<p>declare the screen manager a global variable</p>

<pre><code>import kivy

from kivy.app import App
from kivy.app import ObjectProperty
from kivy.uix.boxlayout import BoxLayout
from kivy.uix.screenmamager import ScreenManager, Screen

screen_manager = ScreenManager()

class LoginScreen(Screen):
    pass
</code></pre>

<p>and return the screen_manager instance in the <code>build</code> method.</p>

<pre><code>class AuthenticationApp(App):
    def build(self):
        screen_manager.add_widget(LoginScreen(name='login'))
        return sceen_manager
</code></pre>

<p>then in your <code>.kv</code> file any where you want to switch between screens. try for example:</p>

<pre><code>Button: 
    id: login_button
    text: 'Login'
    font_size: '15sp'
    on_release: root.manager.current = 'login'
</code></pre>

python kivy