🙂 İNSANLARIN EN HAYIRLISI INSANLARA FAYDALI OLANDIR 🙂

Ramazan HABER / Android RMOS / popup menu kullanımı ve icon koyma

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();
    }
}

 

 2021 Ocak 18 Pazartesi
 410