¿La lógica detrás de startScroll en scroller?

No obtengo la idea de startScroll() en esta documentación .

Dice:

Los números positivos desplazarán el contenido hacia la izquierda.

No lo entiendo. Si 0 está siempre a la izquierda ¿por qué desplazarse hacia la izquierda? Y si es negativo, se desplazará hacia la derecha.

¿Pero por qué? Es tan difícil de rodear mi cabeza. ¿Cuál es la lógica detrás de esto? ¿Por qué mover positivo a izquierda?

En el juego y la programación gráfica 0 siempre será superior izquierda o bot-izquierda, pero siempre estará a la izquierda. Por lo tanto, tendrá sentido mover a la derecha con números positivos y pasar a la izquierda con negativo. ¿Pero por qué es diferente en startScroll?

Sólo estoy preguntando porque soy muy curioso por qué lo diseñó así.

5 Solutions collect form web for “¿La lógica detrás de startScroll en scroller?”

Para ilustrar lo que está pasando, vea el dibujo:

  • Los dibujos superiores muestran el sistema de coordenadas: (0,0) está en la parte superior izquierda, y las direcciones positivas están a la derecha (coordenada x) y hacia abajo (coordenada y).
  • Las ilustraciones de abajo muestran el efecto del desplazamiento, tal como aparece cuando el "puerto de vista" se está moviendo.
  • A la izquierda está la posición antes de la llamada para desplazarse
  • A la derecha está la posición después de la llamada para desplazarse por x = + 2, y = + 3
  • El rectángulo azul claro es el "puerto de visualización" de la pantalla: el método de desplazamiento está moviendo realmente este rectángulo (la representación de la pantalla) y no el contenido. Ver como una cámara que mirar el mundo a través.
  • El punto rojo es sólo un elemento colocado en la vista, y no se mueve. Míralo como el mundo que miras.

Puede ver que mover el "puerto de vista" en positivo x un resultado de direcciones y en el punto rojo parecen estar moviéndose hacia arriba y hacia la izquierda. Al igual que mover una cámara a la derecha hará que el mundo en el movimiento de vídeo a la izquierda.

Introduzca aquí la descripción de la imagen

De hecho, está desplazando la vista hacia la derecha, lo que hace que la vista de contenido se desplace hacia la izquierda.

Tener |A|B|C| , Ahora el desplazamiento por valor positivo dará lugar a un desplazamiento a la derecha, que desplaza el contenido real a la izquierda: |B|C|A no es visible ya, porque se considera como un contenido y se desplaza a la izquierda.

Podemos imaginar un rollo de dos formas diferentes. Una es que la ventana se está moviendo y la otra es que el contenido se está moviendo. Según la documentación de Android de getScrollX ()

Devuelve la posición de desplazamiento hacia la izquierda de esta vista. Este es el borde izquierdo de la parte que se muestra en la vista. No es necesario dibujar ningún píxel más a la izquierda, ya que están fuera del marco de la vista en pantalla.

Está claro que Android prefiere el scroll de contenido respectivo en lugar de uno de ventana respectiva. En contenido scrolls respectivos

Los números positivos desplazarán el contenido hacia la izquierda.

No sólo startScroll() , otros métodos como View.scrollBy() , View.scrollTo() , etc. trabajan con la misma idea.

Si usted pregunta "¿cuál es la imaginación más natural, contenido respectivo o ventana respectiva?", Diré "no sé".

La vista Contenedor está fija en la pantalla. Cuando se desplaza a la derecha, los elementos correctos continúan fluyendo hacia la izquierda. Así, cuando lo haces

 scroller.startScroll (int 2 /*startX */, int startY, int dx, int dy, int duration); 

Hace que su contenido se desplace hacia la izquierda.

Scroller es en realidad la barra lateral horizontal o vertical, que aparecen cuando hay un gesto de desplazamiento. Piense en el movimiento con respecto a scroller y observe su comportamiento en una aplicación. Usted comprenderá por qué es implementar así. Usted está pensando en lo que respecta a la posición de contacto, causando la confusión.

  • ¿Cómo trabajar, cuando listview dentro del scrollview?
  • ¿Cómo puedo mostrar mi diseño de desplazamiento por encima del teclado?
  • DialogFragment sin título - ScrollView no se desplaza
  • Android ScrollView (desplazable en Horizontal y Vertical suavemente) en el que el contenido se puede agregar programable y zoomable en pinch
  • MonoDroid: Error al llamar al constructor de la vista personalizada - TwoDScrollView
  • Cómo establecer la pestaña seleccionada debe estar en el centro
  • Gran número de TextViews un éxito de rendimiento? ¿Debo cambiar a ListView en lugar de usar Scrollview?
  • Escaneando con múltiples RecyclerViews en Layout
  • Anulación de onTouchEvent que compite con ScrollView
  • Android: Dibujo sobre lienzo en Scrollview
  • React Native: TouchableOpacity onPresiona problemas dentro de un ScrollView
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.