1-) Android RMOS - popup menu kullanımı ve icon koyma
PopupMenu popup = new PopupMenu(getActivity(), liner);
popup.getMenuInflater().inflate(R.menu.menu_masalongclick, popup.getMenu());
//İLK İTEMİ BAŞLIK OLARAK KULLANIYORUM VE SİZE VE RENGİNİ DEĞİŞTİRİYORUM
SpannableString s = new SpannableString(Genel.getMasaAd(masaModel) + "-" + masaModel.getMasaFisno());
s.setSpan(new RelativeSizeSpan(1.4f), 0, s.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
s.setSpan(new ForegroundColorSpan(Color.BLACK), 0, s.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
popup.getMenu().getItem(0).setTitle(s);
if( masaModel.getMasaFisno()==0){
popup.getMenu().findItem(R.id.menuKisiSayisi).setVisible(false);
}
//registering popup with OnMenuItemClickListener
popup.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
public boolean onMenuItemClick(MenuItem item) {
//Toast.makeText(getContext(),"You Clicked : " + item.getTitle(), Toast.LENGTH_SHORT).show();
switch (item.getItemId()) {
case R.id.menuOzelMasa:
ozelMasaDialog(masaModel);
break;
case R.id.menuKisiSayisi:
ServiceGenerator.getInstance().KisiSayisiAl(masaModel.getMasaFisno() + "").enqueue(new Callback<KisiSayisiModel>() {
@Override
public void onResponse(Call<KisiSayisiModel> call, Response<KisiSayisiModel> response) {
if (response != null && response.isSuccessful()) {
KisiSayisiModel response1 = response.body();
kisiSayisiDialog(response1.getModel().get(0).getKisi() + "", masaModel.getMasaFisno());
} else {
Toast.makeText(getContext(), "HATA kisisayisial1 " + response.errorBody().toString(), Toast.LENGTH_SHORT).show();
}
}
@Override
public void onFailure(Call<KisiSayisiModel> call, Throwable t) {
Toast.makeText(getContext(), "HATA kisisayisial2 ", Toast.LENGTH_SHORT).show();
}
});
break;
}
return true;
}
});
setForceShowIcon(popup);
popup.show();//showing popup m
2-) icon için
public static void setForceShowIcon(PopupMenu popupMenu) {
try {
Field[] fields = popupMenu.getClass().getDeclaredFields();
for (Field field : fields) {
if ("mPopup".equals(field.getName())) {
field.setAccessible(true);
Object menuPopupHelper = field.get(popupMenu);
Class<?> classPopupHelper = Class.forName(menuPopupHelper
.getClass().getName());
Method setForceIcons = classPopupHelper.getMethod(
"setForceShowIcon", boolean.class);
setForceIcons.invoke(menuPopupHelper, true);
break;
}
}
} catch (Throwable e) {
e.printStackTrace();
}
}