¿A dónde se desplaza Android View.scrollTo (x, y)?

scrollTo(int x, int y) dice:

x la posición x para desplazarse a

y la posición y para desplazarse a

onScrollChanged(int l, int t, int oldl, int oldt) dice:

l origen de desplazamiento horizontal actual.

t Origen de desplazamiento vertical actual.

Lo que me gustaría saber y no puedo encontrar en ningún lado, ¿dónde está x, y? ¿Arriba a la izquierda? ¿Centrar? Intenté algunas pruebas y no puedo resolverlo.

Después de una extensa investigación y pruebas finalmente he entendido cómo funciona scrollTo () .

(0,0) son las coordenadas de la esquina superior izquierda del contenedor de Vista . Al desplazarse a cualquier punto (x,y) , la esquina superior izquierda de la Vista se colocará en las coordenadas (x,y) .

Si la Vista muestra una imagen, Mapa de bits , más grande que la Vista misma, desplazarse a (0,0) colocará la Vista en el centro de la imagen. De esta forma, la esquina superior izquierda de la imagen se ubicará en (-dX/2, -dY/2) y la esquina inferior derecha en (mW - dX/2, mH - dY/2) . dX representa la diferencia entre el ancho de la imagen y la Vista . Y dY representa la diferencia entre las alturas de la imagen y la Vista .

Para ver la esquina inferior derecha y no scrollTo(mW - ivW - dX/2, mH - ivH - dY/2); (más abajo o más hacia la derecha), esta es la llamada correcta: scrollTo(mW - ivW - dX/2, mH - ivH - dY/2);

La imagen adjunta muestra la representación gráfica del posicionamiento de la imagen Vista y Mapa de bits.

Representación gráfica de la relación entre la imagen y la vista.

Desde getX() :

La posición x visual de esta vista, en píxeles. Esto es equivalente a la propiedad de traducción X más la propiedad actual izquierda.

Para getY() es de arriba. Entonces (0,0) está arriba a la izquierda.

No sé si scrollTo() tiene en cuenta la propiedad translationX , porque es “reciente” y no he estado codificando por un tiempo, pero apuesto a que sí.