studio programacion para móviles libro edición desarrollo desarrollar curso aprende aplicaciones android layout

programacion - ¿Cuándo hace Android primero el diseño?



manual de programacion android pdf (1)

Necesito 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 suceden cuando no estamos en primer plano, algunos de ellos podrían tener que pasar en ReResumen.

Entonces, verifiqué si podía medir cómo se habían expuesto mis puntos de vista.

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

Ejecuté esto en Create, onStart y onResume. Cada vez recibo 0,0 por ancho, alto. Si espero en TouchEvent, obtengo la información de diseño, por lo que el diseño ya está hecho.

Me sorprende que el diseño no esté configurado y sea definitivo para el momento en que veo onResume. Esperaba que los widgets ya estuvieran listos y listos para jugar.


El diseño lo hace la jerarquía de vistas según sea necesario.

Cuando se inicia su aplicación, esto será un tiempo después de onResume() (a medida que su ventana se abre y se coloca en la pantalla).

La forma correcta de averiguar sobre las operaciones de diseño es a través de varias devoluciones de llamadas de jerarquía de vistas - View.onSizeChanged() etc., tal como se documenta en "Diseño" aquí :