main.py
from kivy.lang import Builder
from kivy.uix.boxlayout import BoxLayout
from kivy.properties import ObjectProperty
from kivymd.app import MDApp
class ContentNavigationDrawer(BoxLayout):
screen_manager = ObjectProperty()
nav_drawer = ObjectProperty()
class MainApp(MDApp):
def build(self):
return Builder.load_file("appscreen.kv")
if __name__ == '__main__':
MainApp().run()
appscreen.kv
<ContentNavigationDrawer>:
ScrollView:
MDList:
OneLineListItem:
text: "эк1 Аккаунты"
on_press:
root.nav_drawer.set_state ("close")
root.screen_manager.current = "scr 1"
OneLineListItem:
text: "эк2 Добавить аккаунт"
on_press:
root.nav_drawer.set_state ("close")
root.screen_manager.current = "scr 2"
OneLineListItem:
text: "эк3 Удалить невалидные ак."
on_press:
root.nav_drawer.set_state ("close")
root.screen_manager.current = "scr 3"
OneLineListItem:
text: "эк4 Старт рассылки"
on_press:
root.nav_drawer.set_state ("close")
root.screen_manager.current = "scr 4"
Screen:
MDTopAppBar:
id: toolbar
pos_hint: {"top":1}
elevation: 10
title: "MDNavigationDrawer"
left_action_items: [['menu', lambda x: nav_drawer.set_state("open")]]
MDNavigationLayout:
x:toolbar.height
ScreenManager:
id: screen_manager
# содержимое экрана 1
Screen:
name: "scr 1"
MDLabel:
text: "открыт экран 1"
haling: "center"
# содержимое экрана 2
Screen:
name: "scr 2"
MDLabel:
text: "открыт экран 2"
haling: "center"
# содержимое экрана 3
Screen:
name: "scr 3"
MDLabel:
text: "открыт экран 3"
haling: "center"
# содержимое экрана 4
Screen:
name: "scr 4"
MDLabel:
text: "открыт экран 4"
haling: "center"
MDNavigationDrawer:
id: nav_drawer
ContentNavigationDrawer:
screen_manager: screen_manager
nav_drawer: nav_drawer
Версии которые я использую
- Ubuntu 22.04.3 LTS 64-bit
- Python 3.10.12
- Cython version 0.29.33
- Kivy 2.2.1
- Buildozer 1.5.1.dev0
- openjdk 11.0.21
Файл buildozer.spec
1)osx.kivy_version = 2.2.1
2)requirements = python3,kivy==2.2.1,kivymd
логи ошибок при запуске приложения
[WARNING] [Base] Unknown <android> provider
