Как создать popup меню в android?

Пользователь

от christine , в категории: Другие , 7 месяцев назад

Как создать popup меню в android?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от ciara , 7 месяцев назад

@christine 

В Android можно создать popup меню с помощью класса PopupMenu. Вот пример, как это сделать:

  1. Создайте XML файл для разметки вашего popup меню. Например, файл menu_popup.xml:
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
<menu xmlns:android="http://schemas.android.com/apk/res/android">
    <item
        android:id="@+id/menu_item1"
        android:title="Item 1"/>
    <item
        android:id="@+id/menu_item2"
        android:title="Item 2"/>
    <item
        android:id="@+id/menu_item3"
        android:title="Item 3"/>
</menu>


  1. Используйте этот XML файл в коде активности, где вы хотите открыть popup меню:
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
// Получите ссылку на View, где будет отображаться popup меню
View view = findViewById(R.id.view_id);

// Создайте PopupMenu, передав ссылку на View
PopupMenu popupMenu = new PopupMenu(this, view);

// Заполните popup меню, используя XML файл с разметкой
popupMenu.getMenuInflater().inflate(R.menu.menu_popup, popupMenu.getMenu());

// Обработчик кликов на пунктах меню
popupMenu.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
    @Override
    public boolean onMenuItemClick(MenuItem menuItem) {
        // Обработайте клик на пункте меню
        switch (menuItem.getItemId()) {
            case R.id.menu_item1:
                // Действие для пункта меню 1
                return true;
            case R.id.menu_item2:
                // Действие для пункта меню 2
                return true;
            case R.id.menu_item3:
                // Действие для пункта меню 3
                return true;
            default:
                return false;
        }
    }
});

// Отобразите popup меню
popupMenu.show();


Вам нужно заменить R.id.view_id на реальный ID вашего View, на котором вы хотите отображать popup меню, и R.menu.menu_popup на реальный ID вашего XML файла с разметкой меню.


Теперь при клике на указанное View будет отображаться popup меню с пунктами, и при выборе пункта будет вызываться соответствующее действие.