title: Kivy/md - How to change Screens with ScreenManager, can I do it this way...?
body: <p>I've got this simple code to change screens. I'm just wondering what the correct variable to change in callback() is to invoke a screen change.   I've seen this done other ways, but wanted to make sure I have a static MDToolbar so when the screen changes, the toolbar does not move.
  The code below does does not change screen in callback()in this
  .py code:</p>
  <pre><code>from kivy.lang import Builder
  from kivy.uix.widget import Widget
  from kivymd.app import MDApp
  from kivy.loader import Loader
  from kivy.uix.boxlayout import BoxLayout
  from kivy.uix.screenmanager import Screen, ScreenManager
  from kivymd.uix.label import MDLabel
  from kivymd.uix.floatlayout import MDFloatLayout
  
  class TCalc(MDApp):
  
      def callback(self,obj):
      
          self.root.current = &quot;tipscreen2&quot;
  
  
      def build(self):
          return Builder.load_file('dip.kv')
  
  TCalc().run()
  </code></pre>
  <p>dip.kv:</p>
  <pre><code>MDNavigationLayout:
      orientation: 'vertical'
  
      MDToolbar:
          id: toolbar
          right_action_items: [[&quot;cog&quot;, lambda x: app.callback(x)]]
  
      ScreenManager:
          id: screen_manager
  
          Screen:
              name: &quot;tipscreen1&quot;
              MDFloatLayout:
                  MDLabel:
                      text: &quot;Screen 1&quot;
  
          Screen:
              name: &quot;tipscreen2&quot;
              MDFloatLayout:
                  MDLabel:
                      text: &quot;Screen 2&quot;
  
      MDNavigationDrawer:
          id: nav_drawer
          MDNavigationDrawerMenu:
  </code></pre>