2012-10-13 59 views
6

Tengo una ventana emergente de diseño relativo que se muestra con un clic de botón. Tengo algunas otras vistas en la misma pantalla, y la ventana emergente las cubre. Pero cuando hago clic en la ventana emergente, se hacen clic en los controles/vistas atrás. ¿Cómo deshabilitar esto?cómo deshabilitar las vistas detrás del diseño emergente relativo - android

(Una solución que tengo es conseguir todos los puntos de vista y setClickable = false.)

pero estoy en busca de alguna otra solución, como para obtener el foco en la vista actual para que los otros puntos de vista se establecen discapacitados.

Respuesta

2

Uso de diálogo. Creo que esta es la mejor solución para un requisito emergente.

final Dialog dialog = new Dialog(NewEntryActivity.this); 
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE); 
dialog.setContentView(R.layout.interview_tab6_popup_drink_containg_alcohol); 
dialog.setCancelable(true); 
dialog.setCanceledOnTouchOutside(true); 
1

Para ello haga sus RelativeLayout a BringToFront()

y hacer otras vistas SetEnabled(false)

2

Activar setOnClickListener() a la RelativeLayout object.This atrapa todos los clics e impide de control/puntos de vista detrás de conseguir hecho clic.

por ejemplo: -

RelativeLayout rObj = (RelativeLayout) findViewById(R.id.yourRelativeLayout); 
    rObj.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      // filter touches when underlying view is Obscured by this view. 
     } 
    }); 
5

tenía este mismo problema, y ​​finalmente lugar del entorno todo detrás se puede hacer clic = falso, simplemente agregué hacer clic = cierto a la ventana emergente diseño y se arregló. Las vistas clicables detrás de la ventana emergente ya no responden a los eventos de clics a través de la ventana emergente. :) Y ni siquiera tuve que cambiar mi ventana emergente en un diálogo. :)

Cuestiones relacionadas