2012-09-05 5 views
5

Ich möchte ein PopupMenu zu meiner Anwendung hinzufügen. Das Problem ist, dass es auch mit Android 2.3 funktionieren sollte. Ich habe einige Posts gefunden, wo Leute AlertDialog als Alternative vorschlagen, aber ich bevorzuge ein PopupMenu;)Android: Verwenden von PopupMenu in API-Ebene 9

Ich denke, es sollte in dieser API-Ebene auch funktionieren, weil ich es in mehreren Apps gesehen habe (mein Telefon hat 2.3.5 und es funktioniert gut).

Gibt es eine Möglichkeit, dass dies funktioniert?

Antwort

3

PopupMenu ist möglich, dass Sie dies in einem Verfahren zum Senden einer E-Mail können versuchen, und Sie können Ihre xml nach Ihrem eigenen Bedarf aufpumpen:

LayoutInflater inflater = (LayoutInflater)EEActionListDetail.this.getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
    Display display = getWindowManager().getDefaultDisplay(); 

    int width = display.getWidth()/2; 
    int height = display.getHeight()/2; 

    View pop = inflater.inflate(R.layout.popupemail,null,false); 
    pop.measure(View.MeasureSpec.UNSPECIFIED,View.MeasureSpec.UNSPECIFIED); 
    height = pop.getMeasuredHeight(); 
    width = pop.getMeasuredWidth()+200; 
    pu = new PopupWindow(pop,width,height,true); 
    pu.showAtLocation(findViewById(R.id.ll3),Gravity.CENTER,1,1); 

    Button brnSend = (Button)pu.getContentView().findViewById(R.id.btnSend); 
    Button close = (Button)pu.getContentView().findViewById(R.id.close); 

    Subject = (EditText)pu.getContentView().findViewById(R.id.subject); 
    Message = (EditText)pu.getContentView().findViewById(R.id.message); 

    close.setOnClickListener(new View.OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      pu.dismiss(); 

     } 
    }); 
    brnSend.setOnClickListener(new View.OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      for(int j=0;j<EmailArray.size();j++){ 
       String EmailSent = EmailArray.get(j); 
       SendEmailALL(EmailSent); 
      } 
     } 
    }); 
13
  • Sie importieren müssen Unterstützung v7 in der Anwendung gleich wie folgen: Adding libraries with resources

  • import android.support.v7.widget.PopupMenu;

  • Kompilieren Sie Ihren Code mit, dass und dann Pop Menü ist kompatibel mit Android 2.2 und höher.

+0

Ich wusste, dass es ... Komische ist, habe ich versucht, dass vor ... vielleicht habe ich einen Tippfehler damals ... jetzt funktioniert es wie ein Zauber xD –

+0

das funktioniert gut und meine Zeit gespeichert :) – chathura