studio - scrollview eclipse android
¿Hacia dónde se desplaza Android View.scrollTo(x, y)? (2)
Desde getX()
:
La posición visual x de esta vista, en píxeles. Esto es equivalente a la propiedad translationX más la propiedad izquierda actual.
Para getY()
es desde 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 programando durante un tiempo, pero apuesto a que sí.
scrollTo(int x, int y)
dice:
x la posición x para desplazarse hasta
y la posición y para desplazarse hasta
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 ninguna parte, ¿dónde está x, y? ¿Arriba a la izquierda? ¿Centrar? Probé 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 View . Al desplazarse a cualquier punto (x,y)
, la esquina superior izquierda de la View se ubicará en las coordenadas (x,y)
.
Si la View muestra una imagen, Bitmap , más grande que la View sí, el desplazamiento a (0,0)
colocará la View en el centro de la imagen. De esta manera, 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 los anchos de la imagen y la View . Y dY
representa la diferencia entre las alturas de la imagen y la View .
Para ver la esquina inferior derecha y no scrollTo(mW - ivW - dX/2, mH - ivH - dY/2);
(más abajo o más a 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 de la View y el posicionamiento de la imagen de mapa de bits.