La Red de Conocimientos Pedagógicos - Currículum vitae - Diseño de control personalizado de Android

Diseño de control personalizado de Android

Proceso de dibujo de Android

Vista: la Vista ejecuta principalmente el método de diseño, utiliza el método serFrame para establecer las posiciones de los cuatro vértices de su propia Vista y determina la posición de la Vista. sí mismo.

ViewGroup: ViewGroup ejecuta principalmente el método onLayout, atraviesa recursivamente todas las subvistas y determina la posición de las subvistas.

Echemos un vistazo al método performLayout() en ViewRootImpl

Viendo esto, ¿qué son host.getMeasuredWidth() / host.getMeasuredHeight()? Llama directamente al método en Ver, que en realidad es el ancho y alto medidos de DecorView después de la medición. Descrito en medida de control personalizado de Android.

2.3.2.1 Veamos primero el método diseño () en ViewGroup

El diseño en ViewGroup eventualmente se transferirá al diseño en la clase principal Vista. explicarse más adelante. Permítame decirle aquí que eventualmente se llamará al método onLayout de View, y onLayout de ViewGroup es un método abstracto, por lo que se debe implementar su subclase LinearLayout.

2.3.2.2 Veamos el método onLayout() en LinearLayout.

2.3.2.3 Elige uno vertical, veamos el método layoutVertical() en LinearLayout.

2.3.2.4 Veamos el método setChildFrame() en LinearLayout.

Volviendo al método de diseño de Ver nuevamente, veamos el diseño distribuido por Ver.

Veamos primero el método diseño() en Ver.

Veamos primero el método onLayout() en View.

Vacío De hecho, el diseño de la Vista está determinado por el contenedor principal, por lo que la implementación vacía es normal. Por supuesto, también se puede cambiar en la Vista personalizada.

"Cubo de familia de módulos de vista de Android"

Controles personalizados para el desarrollo de Android (2)---onLayout detallado explicación

Proceso de diseño de vista personalizada: la serie más comprensible de principios de vista personalizada (3)