KivyMD icon indicating copy to clipboard operation
KivyMD copied to clipboard

MDDropdownMenu position isn't working

Open einfall opened this issue 3 years ago • 0 comments

MDDropdownMenu position isn't working

hms_app

` from kivymd.app import MDApp from kivy.lang import Builder from kivy.metrics import dp from kivymd.uix.menu import MDDropdownMenu

KV = ''' MDScreen:

MDBottomNavigation:
    selected_color_background: "#97ecf8"
    text_color_active: 0, 0, 0, 1

    MDBottomNavigationItem:
        name: 'screen 1'
        text: 'Page 1'
        icon: 'home'
        badge_icon: ""

        MDBoxLayout:
            orientation: "vertical"

            MDTopAppBar:
                id: "bar"
                title: "Page 1"
                elevation: 6

            GridLayout:
                cols: 1
                #orientation: 'vertical'
                padding: 20
                spacing: 20
                size: root.width, root.height

                TextInput:
                    id: text_input_nr_mod
                    hint_text: "TEST"
                    valign: 'middle'
                    halign: 'left'
                    multiline: False


    MDBottomNavigationItem:
        name: 'screen 2'
        text: 'Page 2'
        icon: 'email'
        badge_icon: "numeric-5"

        BoxLayout:
            orientation: 'vertical'

            MDTopAppBar:
                id: "bar"
                title: "Page 2"
                elevation: 6

            ScrollView:
                MDList:
                    id: container
                    elevation: 4

    MDBottomNavigationItem:
        name: 'screen 3'
        text: 'Page 3'
        icon: 'cog'
        badge_icon: ""

        MDBoxLayout:
            id: screen
            orientation: "vertical"

            MDTopAppBar:
                title: "Page 3"
                elevation: 6
                pos_hint: {'top': 1}

            GridLayout:
                cols: 1
                padding: 20
                spacing: 20

                MDRaisedButton:
                    id: menu_mitarbeiter
                    text: "Mitarbeiter:"
                    size_hint: (1, None)
                    pos_hint: {'top': 1}
                    font_size: '16dp'
                    on_release: app.menu_names_open()
                    elevation: 4

'''

class Test(MDApp):

def build(self):
    self.theme_cls.material_style = "M3"
    self.theme_cls.theme_style = "Light"
    self.root = Builder.load_string(KV)
    self.names_list = sorted(["Ben", "Bine", "Micha", "Felix", "Fatlind", "Gerd", "Philipp", "Marcel", "Büb"])

def on_start(self):
    self.menu_names_list = []
    for each in self.names_list:
        # ach = each.decode('utf-8')
        self.menu_names_list.append({
            "viewclass": "OneLineListItem",
            "text": each,
            "height": dp(56),
            "on_release": lambda x=each: self.menu_names_select(x)
            # "callback": self.select1(each)
        })

    self.menu_names = MDDropdownMenu(
                caller = self.root.ids.menu_mitarbeiter,
                items = self.menu_names_list,
                max_height = dp(224),
                position="bottom",
                width_mult=8)

def menu_names_select(self, x):
    self.menu_names.dismiss()
    print(x)

def menu_names_open(self):
    self.menu_names.open()

Test().run() `

einfall avatar Sep 03 '22 16:09 einfall