2011-09-21 31 views
55

Necesito crear una ventana emergente en android. Mi requisito está en la página 1. Mantendré un hipervínculo y cuando hago clic en él debería abrir una ventana emergente . He revisado muchos tutoriales y los he probado, pero ninguno funcionó para mí. Por favor, ayúdenme sobre cómo crear una ventana emergente en android.¿Cómo crear una ventana emergente en android?

+2

ver en los siguientes enlaces y ejemplos http://www.mobilemancer.com/2011/01/08/popup-window-in-android/ http://stackoverflow.com/questions/1967863/is- there-a-simple-example-of-the-popupwindow-class-using-android-v2-0 –

+0

Para las personas que buscan más ejemplos, puedo recomendar este repositorio: https://github.com/oliguo/android- PopupWindow Contiene dos tipos de ventanas emergentes y su diseño en XML en lugar de código. –

+0

Vea también [Cómo hacer una ventana emergente de android simple] (https://stackoverflow.com/questions/38987442/how-to-make-a-simple-android-popup-window/45077688#45077688) – Suragch

Respuesta

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

Hola gracias por el código de muestra ... está funcionando bien. Necesito colocar textview y botones en esa ventana emergente. ¿Podemos crear esos botones y textviews en formato xml y podemos usarlo para esa ventana emergente? –

+0

yup why not ........... cualquier widget de Android que pueda usar en la ventana emergente –

+0

ok gracias. He creado un diseño main1.xml y ahora ¿cómo agregarlo a la ventana emergente? Quiero decir, en general, damos como setContentView (R.layout.main1); ... de manera similar, ¿cómo agregar el archivo xml a la ventana emergente? –

Cuestiones relacionadas