0

如何实现 KivyMD 导航抽屉,使其被“剪辑”并且不覆盖顶部工具栏(汉堡菜单图标按钮所在的位置)?

NavigationDrawer 组件的 KivyMD 文档实现了抽屉,以便它从屏幕的最顶部跨越到屏幕的最底部。这是不幸的,因为它覆盖了用于关闭它的汉堡菜单,我想不覆盖它,以便用户可以使用此按钮切换抽屉(在两个方向上)。

下面是在 KivyMD 中实现导航抽屉(如上所述)时默认情况下发生的示例视觉效果:

在此处输入图像描述

同时,Google Material Design (MD) 规范(KivyMD 正在遵循该规范)声明导航抽屉组件可以“裁剪”——抽屉从工具栏底部延伸到应用程序的最底部。

这是从上面的 Google MD 规范文档链接中截取的图像,显​​示了“剪辑”抽屉应该是什么样子

带有裁剪导航抽屉的应用程序图像(来源:Google Material Design 规范)

我怎样才能MDNavigationDrawer在 KivyMD 中实现一个被“剪裁”的不覆盖MDToolbar

4

1 回答 1

0

下面的 hackMDToolbar在 Navigation Drawer 中重新绘制了一个新的,这是我正在使用的,直到有人提供更好的解决方案。

我刚刚MDToolbar在我的main.kv文件中添加了一个,所以它看起来像这样

                MDNavigationDrawer:
                        id: nav_drawer

                        BoxLayout:
                                orientation: 'vertical'

                                MDToolbar:
                                        title: 'BusKill'
                                        left_action_items: [[ 'menu', lambda x: nav_drawer.set_state('toggle') ]]

                                MDList:

                                        OneLineIconListItem:
                                                text: 'Update'

                                                IconLeftWidget:
                                                        icon: 'update'

其中产生了以下内容:

KivyMD 双 MDToolbar 所以导航抽屉不会隐藏菜单按钮(剪辑工具栏)

于 2020-08-31T19:08:31.640 回答