我正在尝试对我的应用程序(数字规划器)应用一些更改,其中之一是能够在MDNavigationDrawer中切换屏幕,但我有两个问题:
- 导航。抽屉是透明的。我尝试将其不透明度设置为 1 - 没有用。
- 导航。抽屉似乎在屏幕“下方”。如果导航上按钮的位置。抽屉和屏幕上的按钮匹配,按下的按钮是屏幕上的那个,而不是导航上的那个。抽屉。
这是 MDNavigationDrawer 的样子
这是我的一些 Kivy 代码:
BoxLayout:
orientation: "vertical"
manager: manager
nav_drawer: nav_drawer
MDToolbar:
id: tb
type: "top"
title: "VPlanner"
left_action_items: [["menu", lambda x: nav_drawer.set_state()]]
right_action_items: [["settings", lambda x: app.open_settings()]]
NavigationLayout:
x: tb.height
MDNavigationDrawer:
id: nav_drawer
ContentNavigationDrawer:
ScreenManager:
id: manager
menu_window: menu_window
stats_window: stats_window
history_window: history_window
MenuWindow:
id: menu_window
StatsWindow:
id: stats_window
HistoryWindow:
id: history_window
<ContentNavigationDrawer>:
cols: 1
orientation: "vertical"
OneLineListItem:
text: "Menu"
size_hint: 1, None
on_release:
app.root.nav_drawer.set_state("close")
app.root.manager.current = "menu"
OneLineListItem:
text: "Statistics"
size_hint: 1, None
on_release:
app.root.nav_drawer.set_state("close")
app.root.manager.current = "stats"
OneLineListItem:
text: "History"
size_hint: 1, None
on_release:
app.root.nav_drawer.set_state("close")
app.root.manager.current = "history"
这是我的一小部分 Python 代码:
# there were lots of lines in each class representing screens,
# so I only left the ContentNavigationDrawer class, which is,
# as you already figured it out, supposed to represent content
# displayed in the MDNavigationDrawer.
class ContentNavigationDrawer(GridLayout):
pass
提前致谢!