Cómo comprobar si la vista es visible para el usuario

Mi investigación me llevó a un callejón sin salida.

Hay una actividad, que obviamente tiene puntos de vista en ella.

Hay varias maneras de comprobar si la vista es visible para el usuario en el contexto de la vista es en la pantalla, o está fuera de los límites de la pantalla.

Pero aquí hay otra situación: hay un diseño relativo y una vista intencionalmente se superpone a otra, o hay una ventana emergente en la actividad.

Métodos, que se utilizan para comprobar si la vista es visible o no (incluyendo getLocationOnScreen, getLocalVisibleRect, getHitRect, getDrawingRect), devolver valores, como si la vista sea visible en la pantalla, a pesar de que está siendo superpuesta con otra, así que no puedo Compruebe si la vista es visible para el usuario.

¿Hay alguna manera de comprobar eso?

Puedes probar esto

  if (myView.getVisibility() == View.VISIBLE) { // Its visible } else { // Either gone or invisible } 

Espero eso ayude.

Puede utilizar el método view.isShown() , este método devuelve el estado visible de la vista es el resultado de la vista verdadera visible.

  • GetLocationOnScreen () devuelve valores inesperados
  • Aplicaciones de Fractal en Android
  • Cómo obtengo el ancho y la altura máximos de un dispositivo en android
  • Android: dibujar ImageView exactamente sobre la vista existente en una capa más profunda
  • Cómo obtener la vista anterior o siguiente
  • Java.lang.InstantiationException: no se puede instanciar class: no hay constructor vacío
  • Método para anular cuando el diseño se destruye en Android
  • ¿Examinar todas las sub-vistas de una vista de Android?
  • Android - view.Surface OutOfResourcesException
  • Detectar si las vistas se superponen
  • No es posible establecer dinámicamente el parámetro setVisibility ()
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.