Obtener la posición de ImageView relativa a la pantalla mediante programación

Quiero obtener la posición de mi ImageView programación. Por posición, me refiero a la distancia en píxeles de la parte superior de la pantalla a que ImageView. He intentado todas las otras soluciones publicadas en stackoverflow, pero no funciona para mí. Mi nivel mínimo de API es 8.

Estos son los códigos que he probado-

 ImageView image = (ImageView) findViewById(R.id.imageView1); 1) image.getTop(); 2) private int getRelativeTop(View myView) { if (myView.getParent() == myView.getRootView()) return myView.getTop(); else return myView.getTop() + getRelativeTop((View) myView.getParent()); } 3) image.getLocationOnScreen(int[] locaiton); 

Es necesario esperar a la devolución de llamada cuando el diseño se ha colocado con vistas de niños. Éste es el oyente que usted necesita agregar a su opinión de la raíz para calcular las coordenadas para su imagen. De lo contrario, devolverá 0.

 getViewTreeObserver().addOnGlobalLayoutListener(new OnGlobalLayoutListener() { public void onGlobalLayout() { getViewTreeObserver().removeGlobalOnLayoutListener(this); int[] locations = new int[2]; image.getLocationOnScreen(locations); int x = locations[0]; int y = locations[1]; } }); 

Use View.getLocationOnScreen() o getLocationInWindow() PERO SÓLO después de que la vista haya sido el diseño. getTop() , getLeft() , getBottom() y getRight() devuelven la posición relativa a su padre.

  • InputType = "number" con más de una línea
  • Android SnackBar: error al inflar SnackbarLayout
  • Cómo centrar una imagen de fondo de tema en una actividad de Android
  • ¿Cómo puedo especificar layout_below de forma programática para un LinearLayout?
  • El ajuste de texto en varios EditTexts inflados hace que todos se rellenen con el mismo texto después de la rotación
  • Deslizar para eliminar listitem
  • Cómo estirar Layout para llenar la pantalla?
  • ¿Cómo puedo reducir el relleno alrededor del texto en el diseño xml de Android?
  • Facebook Publicar en tu nombre no funciona en android facebook sdk 3.0.2
  • ¿Cuál es el color predeterminado del fondo de diálogo de relleno?
  • Android ListView deshabilitar los clics y el menú contextual en la vista de cabecera?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.