GetLocationOnScreen () en onCreate () sólo devuelve ceros

Llamar getLocationOnScreen () en un ImageView (u otra vista) en una respuesta a un clic de botón da valores correctos.

Pero al llamar a getLocationOnScreen () de Activity :: onCreate (), sólo obtengo [0, 0]. ¿Cómo puedo arreglar esto?

¿Es onCreate () demasiado pronto para hacer todos los cálculos? ¿Hay un lugar más tarde mejor para enganchar para comenzar las animaciones?

Es demasiado pronto para buscar getLocationOnScreen() en onCreate() . El mejor lugar es a nivel de vista (si está utilizando vistas personalizadas), está en onLayout() . Sólo aquí se calcula el tamaño y la posición de la vista. En caso de que no esté creando vistas personalizadas, podría obtenerla en el nivel de actividad en onWindowFocusChanged() (con la actividad que tiene el foco).

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.