Android popup-menu вставить Radiobutton или Switch
У меня есть PopupMenu и я хочу сделать вкладку "избранное", чтобы реализовать это мне нужно как то вставить элемент Radiobutton или Switch в PopupMenu. Подскажите как это сделать. Похожее я видел в
Material Components
Как можно заметить там при нажатии можно выбрать тему
Java
public class NotificationsFragment extends Fragment {
public ImageButton quick_menu;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
return inflater.inflate(R.layout.fragment_notifications, container, false);
}
@Override
public void onViewCreated(@NonNull final View view, @Nullable Bundle savedInstanceState) {
ImageButton back = requireView().findViewById(R.id.back);
back.setOnClickListener(v -> Navigation.findNavController(view)
.navigate(R.id.action_fragment_Menu_list_Tasks_Prapor_1_to_fragment_Menu_list_Tasks_Prapor));
ImageButton iconMenuButton = view.findViewById(R.id.quick_menu);
iconMenuButton.setOnClickListener(NotificationsFragment.this::showMenu);
}
@RequiresApi(api = Build.VERSION_CODES.KITKAT)
@SuppressLint("RestrictedApi")
private void showMenu(View v) {
androidx.appcompat.widget.PopupMenu popup = new PopupMenu(Objects.requireNonNull(getContext()), v);
popup.getMenuInflater().inflate(R.menu.quick_menu, popup.getMenu());
if (popup.getMenu() instanceof MenuBuilder) {
MenuBuilder menuBuilder = (MenuBuilder) popup.getMenu();
menuBuilder.setOptionalIconsVisible(true);
}
popup.setOnMenuItemClickListener(
menuItem -> {
Snackbar.make(
Objects.requireNonNull(NotificationsFragment.this.getActivity()).findViewById(android.R.id.content),
menuItem.getTitle(),
Snackbar.LENGTH_LONG)
.show();
return true;
});
popup.show();
}
}
xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/recy_1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<ImageButton
android:id="@+id/quick_menu"
style="@style/ImageButton_2"
android:src="@drawable/ic_quick_menu" />
</LinearLayout>
menu
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/one"
android:icon="@drawable/ic_anim_handbook_4"
android:title="@string/added_to_favorites" />
</menu>
