2016-04-08 4 views
1

Ich verwende derzeit diesen Code;wie ein Popup-Menü in der Mitte eines Bildschirms angezeigt wird

  //Creating the instance of PopupMenu 
      PopupMenu popup = new PopupMenu(MainActivity.this, txt_selectPicture,Gravity.CENTER); 
      //Inflating the Popup using xml file 
      popup.getMenuInflater().inflate(R.menu.menu_createpassword, popup.getMenu()); 
      //registering popup with OnMenuItemClickListener 
      popup.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() { 
       public boolean onMenuItemClick(MenuItem item) { 
        Toast.makeText(MainActivity.this, "Opening : " + item.getTitle(), Toast.LENGTH_SHORT).show(); 
        return true; 
       } 
      }); 

      popup.show(); //showing popup menu 

hier txt_selectPicture ist ein TextView mit Schwerpunkt. und dieses Menü wird auf der linken Seite eines Bildschirms angezeigt, wenn dieses txt_selectPicture angeklickt wird. aber ich möchte, dass es in der Mitte angezeigt wird. Ich habe diese Lösung

  new PopupMenu(MainActivity.this, txt_selectPicture,Gravity.CENTER); 

aber es funktioniert nicht für mich.Vielen Dank im Voraus.

+0

Was ist der Fehler? –

+0

Verwenden Sie einen AlertDialog. Es wird standardmäßig in der Mitte des Bildschirms angezeigt, unabhängig von der Position Ihres TextView. – Endor

+0

@RuchirBaronia es funktioniert perfekt gut ohne Fehler, aber wie ich oben erwähnt dieses Popup-Menü statt in der Mitte immer Popup auf der linken Seite des Bildschirms – Nida

Antwort

0

mit

popup.inflate(R.menu.menu_createpassword); 

statt

Versuchen
popup.getMenuInflater().inflate(R.menu.menu_createpassword, popup.getMenu()); 

Leider mein schlechtes Englisch.

Verwandte Themen