Ver Gone cuando se hace clic fuera de esa vista

Quería ocultar la vista al hacer clic fuera de esa vista, por ejemplo,

<Framelayout android:id="@+id/container" android:layout_width="match_parent" android:layout_height="match_parent" > <fragment android:id="@+id/map" android:name="com.google.android.gms.maps.SupportMapFragment" android:layout_width="match_parent" android:layout_height="match_parent" /> <ImageView android:id="@+id/imgButtonToOpenGrid" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="right|bottom" android:src="@drawable/open_grid_img" /> <RelativeLayout android:id="@+id/containerGrid" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="right|bottom" > <Button android:id="@+id/button1grid" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/favourites" /> <Button android:id="@+id/button2grid" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/recent" android:layout_toRightOf="@+id/button1grid" /> <Button android:id="@+id/button3grid" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/gridview" android:layout_toRightOf="@+id/button2grid" /> </RelativeLayout> </FrameLayout> 

Lo que estoy haciendo en mi aplicación es oncreate estoy ocultando la vista RelativeLayout con id = "containerGrid" y haciendo que relativeLayout vista sea visible cuando hago clic en la vista de la imagen.

Así que mi requisito es que quería ocultar el contenedor RelativeLayout con id = "containerGrid" cuando hago clic fuera de ese contenedor.

Traté de obtener el contenedor framelayout y cuando se hace clic en el contenedor de verificación si relativelayout contenedor se muestra o no, si se muestra a continuación, hizo su vista se fue. Aquí está el código que he intentado,

 containerMap = (FrameLayout)findViewById(R.id.container); containerMap.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { // TODO Auto-generated method stub if(rltvContainer.isShown()){ rltvContainer.setVisibility(View.GONE); } } }); 

¿Hay algún lugar que me va mal en lo de arriba.

En realidad tengo mapa también en ese contenedor framelayout así que aquí estoy esperando cuando hago clic en un mapa del contenedor relativelayout debe ir.

Añadir otro coverView que es transparente delante del fragmento de mapa

 <Framelayout android:id="@+id/container" android:layout_width="match_parent" android:layout_height="match_parent" > <fragment android:id="@+id/map" android:name="com.google.android.gms.maps.SupportMapFragment" android:layout_width="match_parent" android:layout_height="match_parent" /> <View android:id="@+id/coverView" android:layout_width="match_parent" android:layout_height="match_parent" android:clickable="true" android:background="#00000000" android:visibility="gone" /> <ImageView android:id="@+id/imgButtonToOpenGrid" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="right|bottom" android:src="@drawable/open_grid_img" /> <RelativeLayout android:id="@+id/containerGrid" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="right|bottom" > <Button android:id="@+id/button1grid" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/favourites" /> <Button android:id="@+id/button2grid" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/recent" android:layout_toRightOf="@+id/button1grid" /> <Button android:id="@+id/button3grid" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/gridview" android:layout_toRightOf="@+id/button2grid" /> </RelativeLayout> </FrameLayout> 

Cuando se abre el containerGrid (lo que significa que su visibilidad es View.VISIBLE , defina la visibilidad de View.VISIBLE en View.VISIBLE .

Si desea cerrar containerGrid , que es el que desea hacer clic fuera de containerGrid , en realidad hace clic en el coverView , establece OnClickListener en el coverView :

 coverView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { // TODO Auto-generated method stub if(rltvContainer.isShown()){ rltvContainer.setVisibility(View.GONE); } coverView.setVisibility(View.Gone); } }); 

coverView tanto coverView como containerGrid como View.GONE .

Pruebe a configurar la funcionalidad de enfoque dependiente en falso en framelayout y funcionará

El problema es el diseño del marco no es obtener el evento de clic

Descendiente capacidad de enfoque falso darle habilidad desactivar evento de clic en vistas de niño si un padre vieegroup

  • Color de fondo ondulado de Android
  • Android en el cajón cerrado escucha
  • Android - Cambiar el Botón Atrás del Botón de Navegación de ActionBar
  • ¿Cómo crear un cajón de navegación personalizado que abre ListView junto al cajón onitemclick?
  • El cajón de navegación inhabilita la vista trasera cuando el cajón está abierto
  • No abra el cajón de navegación de forma predeterminada
  • Cómo crear un cajón de navegación personalizado en android
  • Cómo deslizar el ActionBar junto con el NavigationDrawer
  • Cómo agregar un elemento de menú plegable dentro del cajón de navegación en android?
  • El cajón de navegación en android no está en pantalla completa
  • ¿Cómo puedo hacer que el cajón de navegación no cierre completamente el cajón izquierdo?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.