Squeak.ru - шаблоны программирования

создать общий пользовательский класс PopupMenu - android

Я хочу иметь возможность создать общий класс PopupMenu, который можно использовать с любым дизайном xml, а не только с menu xml, у нас есть всплывающее меню на Android, это значок и текст (не очень настраиваемый). Мне не удалось создать всплывающее меню switch (в правом нижнем углу изображения). То, что я разработал, показано на изображении (выделено красной рамкой), я также показал макеты, которые хочу получить.

Метод для PopupMenu

private void displayInfoOptionMenu(View view) {
        //creating a popup menu
        PopupMenu popup = new PopupMenu(getContext(), view);
        //inflating menu from xml resource
        popup.inflate(R.menu.todo_info_menu);
        //adding click listener
        popup.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
            @Override
            public boolean onMenuItemClick(MenuItem item) {
                switch (item.getItemId()) {
                    case R.id.add_your_own_todo:
                        //handle menu1 click

                        AddTodoEntryFragment addTodoEntryFragment = new AddTodoEntryFragment();
                        ChangeFragment(addTodoEntryFragment,getActivity(),false);

                        break;
                    case R.id.add_entry_to_diary:
                        //handle menu2 click
                        AddDiaryEntryFragment addDiaryEntryFragment = new AddDiaryEntryFragment();
                        ChangeFragment(addDiaryEntryFragment, getActivity(),false);

                        break;
                    case R.id.add_eco_scan:
                        //handle menu3 click
                        EcoScanFragment ecoScanFragment = new EcoScanFragment();
                        ChangeFragment(ecoScanFragment,getActivity(),false);
                        break;
                }
                return false;
            }
        });
        //displaying the popup
        popup.show();
    }

todo_info_menu

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">

    <item
        android:title="To-Do"
        android:contentDescription="werden automatisch erzeugt, wenn Pflanzen in deinem Garten gespeichert werden."
        android:icon="@drawable/red_circle"
        android:iconTint="@color/colorPrimary"/>

    <item
        android:title="Eigenes To-Do"
        android:contentDescription="kannst du selbst anlegen."
        android:icon="@drawable/red_circle"
        android:iconTint="@color/colorPrimary"/>
    <item
        android:title="Tagebucheintrag"
        android:contentDescription="kannst du selbst anlegen, werden aber nicht wiederholt."
        android:icon="@drawable/red_circle"
        android:iconTint="@color/colorPrimary"/>
    <item
        android:title="Ökoscan"
        android:contentDescription="hält den ökologischen Wert deines Gartens für diesen Tag fest."
        android:icon="@drawable/red_circle"
        android:iconTint="@color/colorPrimary"/>
</menu>

введите здесь описание изображения

28.11.2020

Новые материалы

Угловая структура архитектуры
Обратите внимание, что эта статья устарела, я решил создать новую с лучшей структурой и с учетом автономных компонентов: https://medium.com/@marekpanti/angular-standalone-architecture-b645edd0d54a..

«Данные, которые большинство людей используют для обучения своих моделей искусственного интеллекта, поставляются со встроенным…
Первоначально опубликовано HalkTalks: https://hacktown.com.br/blog/blog/os-dados-que-a-maioria-das-pessoas-usa-para-treinar-seus-modelos-de-inteligencia-artificial- ja-vem-com-um-vies-embutido/..

Сильный ИИ против слабого ИИ: различия парадигм искусственного интеллекта
В последние годы изучению и развитию искусственного интеллекта (ИИ) уделяется большое внимание и прогресс. Сильный ИИ и Слабый ИИ — две основные парадигмы в области искусственного интеллекта...

Правильный способ добавить Firebase в ваш проект React с помощью React Hooks
React + Firebase - это мощная комбинация для быстрого и безопасного создания приложений, от проверки концепции до массового производства. Раньше (знаете, несколько месяцев назад) добавление..

Создайте API с помощью Python FastAPI
Создание API с помощью Python становится очень простым при использовании пакета FastAPI. После установки и импорта вы можете создать приложение FastAPI и указать несколько конечных точек. Каждой..

Веселье с прокси-сервером JavaScript
Прокси-серверы JavaScript — это чистый сахар, если вы хотите создать некоторую общую логику в своих приложениях, чтобы облегчить себе жизнь. Вот один пример: Связь клиент-сервер Мы..

Получить бесплатный хостинг для разработчиков | Разместите свой сайт за несколько шагов 🔥
Статические веб-сайты — это веб-страницы с фиксированным содержанием и его постоянным содержанием. Но теперь статические сайты также обрабатывают динамические данные с помощью API и запросов...