fromkivymd.appimportMDAppfromkivy.core.windowimportWindowfromkivy.langimportBuilderfromkivy.factoryimportFactoryfromkivy.uix.modalviewimportModalViewfromplyerimportstoragepathfromkivymd.uix.filemanagerimportMDFileManagerfromkivymd.themingimportThemeManagerfromkivymd.toastimporttoastBuilder.load_string('''
orientation: 'vertical'
spacing: dp(5)
MDToolbar:
id: toolbar
title: app.title
left_action_items: [['menu', lambda x: None]]
elevation: 10
md_bg_color: app.theme_cls.primary_color
FloatLayout:
MDRoundFlatIconButton:
text: "Open manager"
icon: "folder"
pos_hint: {'center_x': .5, 'center_y': .6}
on_release: app.file_manager_open()
''')classExample(MDApp):title="File Manage"def__init__(self,**kwargs):super().__init__(**kwargs)Window.bind(on_keyboard=self.events)self.manager_open=Falseself.manager=Nonedefbuild(self):returnFactory.ExampleFileManager()deffile_manager_open(self):ifnotself.manager:self.manager=ModalView(size_hint=(1,1),auto_dismiss=False)self.file_manager=MDFileManager(exit_manager=self.exit_manager,select_path=self.select_path)self.manager.add_widget(self.file_manager)self.file_manager.show(storagepath.get_home_dir())# output manager to the screenself.manager_open=Trueself.manager.open()defselect_path(self,path):'''It will be called when you click on the file name
or the catalog selection button.
:type path: str;
:param path: path to the selected directory or file;
'''self.exit_manager()toast(path)defexit_manager(self,*args):'''Called when the user reaches the root of the directory tree.'''self.manager.dismiss()self.manager_open=Falsedefevents(self,instance,keyboard,keycode,text,modifiers):'''Called when buttons are pressed on the mobile device..'''ifkeyboardin(1001,27):ifself.manager_open:self.file_manager.back()returnTrueExample().run()