public float matchWidthOrHeight ;

Descripción

Ajuste para escalar el Canvas para que coincida con el ancho o la altura de la resolución de referencia, o una combinación.

Si la configuración se establece en 0, el Canvas se escala según la diferencia entre el ancho de resolución de pantalla actual y el ancho de resolución de referencia. Si la configuración está establecida en 1, el Canvas se escala de acuerdo con la diferencia entre la altura de resolución de pantalla actual y la altura de resolución de referencia.

Para los valores entre 0 y 1, la escala se basa en una combinación del ancho relativo y la altura.

Considere un ejemplo donde la resolución de referencia de 640x480, y la resolución de pantalla actual es un modo landscape de 480x640.

Si el ajuste scaleWidthOrHeight se establece en 0, el Canvas se escala 0.75 porque el ancho de resolución actual de 480 es 0.75 veces el ancho de resolución de referencia de 640. La resolución de Canvas obtiene una resolución de 640x853.33. Esta resolución tiene el mismo ancho que el ancho de resolución de referencia, pero tiene la relación de aspecto de la resolución de pantalla actual. Tenga en cuenta que la resolución de Canvas de 640x853.33 es la resolución de pantalla actual dividida por el factor de escala de 0.75.

Si el ajuste scaleWidthOrHeight se establece en 1, el Canvas se escala en 1,33 porque la altura de resolución actual de 640 es 1,33 veces la altura de resolución de referencia de 480. La resolución de Canvas obtiene una resolución de 360x480. Esta resolución tiene la misma altura que el ancho de resolución de referencia, pero tiene la relación de aspecto de la resolución de pantalla actual. Tenga en cuenta que la resolución de 360 x 480 de Canvas es la resolución de pantalla actual dividida por el factor de escala de 1,33.

Si el ajuste scaleWidthOrHeight se establece en 0.5, encontraremos la escala horizontal necesaria (0.75) y la escala vertical necesaria (1.33) y encontraremos la media. Sin embargo, hacemos el promedio en el espacio logarítmico. Un promedio regular de 0,75 y 1,33 produciría un resultado de 1,04. Sin embargo, puesto que multiplicar por 1,33 es igual a dividir por 0,75, los dos factores de escala realmente corresponden a multiplicar por 0,75 frente a dividir por 0,75, y el promedio de esas dos cosas debería igualar y producir un resultado neutral. El promedio en el espacio logarítmico de 0.75 y 1.33 es exactamente 1.0, que es lo que queremos. La resolución de la lona por lo tanto termina siendo 480x640 que es la resolución actual dividida por el factor de escala de 1.0.

La lógica funciona igual para todos los valores. El promedio entre el factor de escala horizontal y vertical es un promedio ponderado basado en el valor matchWidthOrHeight.