¿Cuándo se aplicará MeasureSpec.UNSPECIFIED y MeasureSpec.AT_MOST?

Estoy un poco confundido acerca de MeasureSpec.UNSPECIFIED y MeasureSpec.AT_MOST . Sé que cuando match_parent o un valor de cota constante se establece en layout_width o layout_height , MeasureSpec.EXACTLY se aplicará al medir la vista.

Entonces, ¿qué tal MeasureSpec.UNSPECIFIED y MeasureSpec.AT_MOST ?

Mi comprensión es que cuando layout_width o layout_height se establece en wrap_content , se aplicará wrap_content , porque wrap_content significa que la altura o el ancho de una vista puede ser de cualquier tamaño dependiendo del contenido. Pero muchos artículos dijeron que wrap_content significa MeasureSpec.AT_MOST . Así que estoy confundido. No sé cuándo se debe aplicar MeasureSpec.AT_MOST .

La definición básica de cómo una vista es de tamaño es como esto:

MeasureSpec.EXACTLY – Una vista debe ser exactamente este muchos píxeles, independientemente de lo grande que realmente quiere ser.

MeasureSpec.AT_MOST – Una vista puede tener este tamaño o menor si se mide que sea menor.

MeasureSpec.UNSPECIFIED – Una vista puede ser de cualquier tamaño que necesita para mostrar el contenido que necesita mostrar.

MeasureSpec.AT_MOST se aplicará a las vistas que se hayan establecido en WRAP_CONTENT si la vista principal está enlazada en tamaño . Por ejemplo, su Vista padre podría estar vinculada al tamaño de la pantalla. Sus hijos también estarán obligados a este tamaño, pero puede que no sea tan grande. Por lo tanto, la vista padre establecerá el MeasureSpec AT_MOST que le dice al niño que puede estar en cualquier lugar entre 0 y tamaño de pantalla. El niño tendrá que hacer ajustes para asegurarse de que encaja dentro de los límites que se proporcionó.

En casos especiales, los límites no importan. Por ejemplo, un ScrollView . En el caso de un ScrollView , la altura de las vistas secundarias es irrelevante. Como tal, UNSPECIFIED a UNSPECIFIED a los niños Views que les dice a los niños que ellos pueden ser tan altos como ellos necesitan ser. ScrollView manejará el dibujo y la colocación para ellos.

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