Added in version 1.0.0.

ScreenManager class equivalent. If you want to use Hero animations you need to use MDScreenManager not ScreenManager class.


MDScreenManager class supports the following transitions:

  • MDFadeSlideTransition

  • MDSlideTransition

  • MDSwapTransition

You need to use the MDScreenManager class when you want to use hero animations on your screens. If you don’t need hero animation use the ScreenManager class.

API - kivymd.uix.screenmanager

class kivymd.uix.screenmanager.MDScreenManager(*args, **kwargs)

Screen manager. This is the main class that will control your MDScreen stack and memory.

For more information, see in the DeclarativeBehavior and ThemableBehavior and BackgroundColorBehavior and ScreenManager and MDAdaptiveWidget classes documentation.


The name of the current tag for the MDHeroFrom and MDHeroTo objects that will be animated when animating the transition between screens.

Deprecated since version 1.1.0: Use current_heroes attribute instead.

See the Hero module documentation for more information about creating and using Hero animations.

current_hero is an StringProperty and defaults to None.


A list of names (tags) of heroes that need to be animated when moving to the next screen.

Added in version 1.1.0.

current_heroes is an ListProperty and defaults to [].

check_transition(*args) None

Sets the default type transition.

get_hero_from_widget() list

Get a list of MDHeroFrom objects according to the tag names specified in the current_heroes list.

on_current_hero(instance, value: str) None

Fired when the value of the current_hero attribute changes.

add_widget(widget, *args, **kwargs)

Changed in version 2.1.0: Renamed argument screen to widget.