Sideband/sbapp/kivymd/tests/test_navigationdrawer.py

95 lines
3.6 KiB
Python

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",
),
)
)