¿Cuándo android primero hace la disposición?

Tengo que preparar algunos objetos basados ​​en el diseño inicial de widgets y vistas en mi Actividad. Me gustaría hacerlo en los pasos de inicialización, idealmente onCreate y onStart. Teniendo en cuenta la posibilidad de cambios que ocurren cuando no estamos en primer plano, algunos de ellos pueden necesitar pasar en onResume.

Así que comprobé si podía medir cómo mis puntos de vista se habían establecido.

Log.d("MyApp", "w,h of X is " + findViewById(R.id.X).getWidth() + "," + findViewById(R.id.X).getHeight()); 

Corrí esto en onCreate, onStart y onResume. Cada vez que consigo 0,0 para el ancho, la altura. Si espero a onTouchEvent obtengo la información de diseño, por lo que el diseño ya está hecho.

Estoy sorprendido de que el diseño no está establecido y final por el tiempo que estoy viendo enResume. Yo esperaba que los widgets ya estaban dispuestos y listos para jugar con ellos para entonces.

El diseño se realiza mediante la jerarquía de vistas según sea necesario.

Cuando su aplicación está comenzando, esto será algún tiempo después de onResume() (como su ventana se está planteando y se coloca en la pantalla).

La forma correcta de averiguar acerca de las operaciones de diseño es a través de las diversas devoluciones de llamada de la jerarquía de la vista – View.onSizeChanged() etc, tal como se documenta en "Layout" aquí :

  • ¿Por qué la actividad de mi androide siempre se desplaza hacia abajo?
  • Gaveta de navegación Atributo de diseño específico de la API de Android
  • ¿Cómo incluir un diseño dos veces en Android?
  • ¿Cómo desactivar un botón de Android?
  • Cuadro de diálogo personalizado sin título y borde
  • Soporte de diseño de cuadrícula en android API 10
  • Botón necesita llenar el botón de radio padre
  • Vista personalizada con clics en Notificación en Android 2.3 o inferior
  • Android y obtener una vista con id cast como una cadena
  • No hay espacio suficiente para mostrar el anuncio (AdMob)
  • Error relativo de las dependencias circulares del diseño relativo de Android
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.