Android Documentation says que hay dos tamaños para una vista, dimensiones medidas y dimensiones de dibujo. La dimensión medida es la que se calculó en la medida pase (el método onMeasure), mientras que las dimensiones de dibujo son el tamaño real en la pantalla. Particularmente, la documentación dice que:¿Cuál es la diferencia entre getWidth/Height() y getMeasuredWidth/Height() en Android SDK?
Estos valores pueden, pero no tienen por qué, ser diferentes del ancho y la altura medidos.
Entonces, mi pregunta es: ¿qué podría hacer que la dimensión del dibujo sea diferente de la dimensión medida? Si el método onMeasure(int,int) respeta los requisitos de disposición (dada como los parámetros widthMeasureSpec y heightMeasureSpec, ¿cómo puede el SDK decide que la vista debe tener un tamaño de dibujo diferente?
Además, cómo/dónde en el Android Source Code la medida ancho/alto se utiliza para calcular el ancho/alto del dibujo? Intenté buscar en el View source code, pero no puedo entender cómo se usa el measuredWidth/Height para calcular el ancho/alto final. Tal vez tiene algo que ver con el relleno, pero no estoy seguro.
Creo que estas medidas pueden ser diferentes en caso de que se agregue un desplazamiento a la vista. – Yury
Quizás, pero desarrollé un ViewGroup personalizado, y esto está sucediendo en mi código. No me refiero al desplazamiento hasta el momento en que ocurre este comportamiento. Así que creo que debería haber algo más que scroll involucrado en esto. – lgfischer
Confirmo que también desarrollé un ViewGroup personalizado para forzar una relación de aspecto determinada: forcé el ancho y la altura medidos (inferiores o iguales a los propuestos), pero como resultado no se modificaron el ancho y la altura reales (no los medidos). Sin relación con el desplazamiento. Realmente no puedo encontrar una manera de forzar el ancho y la altura real. – ARLabs