Я хочу иметь возможность создать общий класс 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>