2011-09-21 7 views
55

Je dois créer une fenêtre popup dans android. Mon exigence est dans la page 1, je vais garder un hyperlien et quand je clique dessus, il devrait ouvrir une fenêtre . J'ai suivi de nombreux tutoriels et les ai essayés mais aucun d'entre eux n'a fonctionné pour moi. S'il vous plaît aidez-moi sur la façon de créer une fenêtre popup dans android.Comment créer une fenêtre contextuelle dans Android?

+2

voir les liens ci-dessous et exemples http://www.mobilemancer.com/2011/01/08/popup-window-in-android/ http://stackoverflow.com/questions/1967863/is- il-a-un-simple-exemple-de-the-popup-class-using-android-v2-0 –

+0

Pour les personnes qui cherchent d'autres exemples, je peux recommander ce référentiel: https://github.com/oliguo/android- PopupWindow Il contient deux types de popup et de mise en page en XML au lieu de code. –

+0

Voir aussi [Comment faire une fenêtre popup Android simple] (https://stackoverflow.com/questions/38987442/how-to-make-a-simple-android-popup-window/45077688#45077688) – Suragch

Répondre

76
import android.app.Activity; 
import android.os.Bundle; 
import android.view.Gravity; 
import android.view.View; 
import android.widget.Button; 
import android.widget.LinearLayout; 
import android.widget.PopupWindow; 
import android.widget.TextView; 
import android.view.ViewGroup.LayoutParams; 

public class ShowPopUpWindow extends Activity { 

    boolean isClicked = true; 
    PopupWindow popUpWindow; 
    LayoutParams layoutParams; 
    LinearLayout mainLayout; 
    Button btnClickHere; 
    LinearLayout containerLayout; 
    TextView tvMsg; 



    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 

     containerLayout = new LinearLayout(this); 
     mainLayout = new LinearLayout(this); 
     popUpWindow = new PopupWindow(this); 


     btnClickHere = new Button(this); 
     btnClickHere.setText("Click Here For Pop Up Window !!!"); 
     btnClickHere.setOnClickListener(new View.OnClickListener() { 

      public void onClick(View v) { 
       if (isClicked) { 
        isClicked = false; 
        popUpWindow.showAtLocation(mainLayout, Gravity.BOTTOM, 10, 10); 
        popUpWindow.update(50, 50, 320, 90); 
       } else { 
        isClicked = true; 
        popUpWindow.dismiss(); 
       } 
      } 

     }); 

     tvMsg = new TextView(this); 
     tvMsg.setText("Hi this is pop up window..."); 

     layoutParams = new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT, 
       LayoutParams.WRAP_CONTENT); 
     containerLayout.setOrientation(LinearLayout.VERTICAL); 
     containerLayout.addView(tvMsg, layoutParams); 
     popUpWindow.setContentView(containerLayout); 
     mainLayout.addView(btnClickHere, layoutParams); 
     setContentView(mainLayout); 

    } 
} 
+0

Salut merci pour l'exemple de code .. il fonctionne bien j'ai besoin de placer le texte et les boutons à cette fenêtre contextuelle. Pouvons-nous créer ces boutons et textviews dans la mise en page XML et pouvons-nous l'utiliser pour cette fenêtre contextuelle? –

+0

yup pourquoi pas ........... un widget d'android vous pouvez utiliser dans la fenêtre pop-up –

+0

ok merci .. J'ai créé une mise en page main1.xml et maintenant comment l'ajouter à la fenêtre pop-up? Je veux dire en général, nous donnons comme setContentView (R.layout.main1); ... de même comment ajouter le fichier xml à la fenêtre popup? –

Questions connexes