from kivymd.tests.base_test import BaseTest class NavigationDrawerTest(BaseTest): def test_navigationdrawer_raw_app(self): from kivymd.uix.navigationdrawer import ( MDNavigationDrawer, MDNavigationDrawerDivider, MDNavigationDrawerHeader, MDNavigationDrawerItem, MDNavigationDrawerLabel, MDNavigationDrawerMenu, MDNavigationLayout, ) from kivymd.uix.screen import MDScreen from kivymd.uix.screenmanager import MDScreenManager from kivymd.uix.toolbar import MDTopAppBar class DrawerClickableItem(MDNavigationDrawerItem): def __init__(self, **kwargs): super().__init__(**kwargs) self.focus_color = "#e7e4c0" self.unfocus_color = "#f7f4e7" self.text_color = "#4a4939" self.icon_color = "#4a4939" self.ripple_color = "#c5bdd2" self.selected_color = "#0c6c4d" class DrawerLabelItem(MDNavigationDrawerItem): def __init__(self, **kwargs): super().__init__(**kwargs) self.bg_color = "#f7f4e7" self.text_color = "#4a4939" self.icon_color = "#4a4939" _no_ripple_effect = True # NOQA self.app.theme_cls.material_style = "M3" self.render( MDNavigationLayout( MDScreenManager( MDScreen( MDTopAppBar( title="Navigation Drawer", elevation=10, pos_hint={"top": 1}, md_bg_color="#e7e4c0", specific_text_color="#4a4939", left_action_items=[ ["menu", lambda x: self.nav_drawer_open()] ], ) ) ), MDNavigationDrawer( MDNavigationDrawerMenu( MDNavigationDrawerHeader( title="Header title", title_color="#4a4939", text="Header text", spacing="4dp", padding=("12dp", 0, 0, "56dp"), ), MDNavigationDrawerLabel( text="Mail", ), DrawerClickableItem( icon="gmail", right_text="+99", text_right_color="#4a4939", text="Inbox", radius=24, ), DrawerClickableItem( icon="send", text="Outbox", radius=24, ), MDNavigationDrawerDivider(), MDNavigationDrawerLabel( text="Labels", ), DrawerLabelItem( icon="information-outline", text="Label", ), DrawerLabelItem( icon="information-outline", text="Label", ), ), id="nav_drawer", ), ) )