Tutorial de Android Dev: ¿Qué es `Infinity` en ViewPager Sample?

¿Cuál es el siguiente código en el Tutorial Oficial del Desarrollador Android, usando ViewPager para diapositivas de pantalla ?

public class ZoomOutPageTransformer implements ViewPager.PageTransformer { //... public void transformPage(View view, float position) { //... if (position < -1) { // **[-Infinity,-1) //... } else if (position <= 1) { // [-1,1] //... } else { // (1,+Infinity] //... } } } 

3 Solutions collect form web for “Tutorial de Android Dev: ¿Qué es `Infinity` en ViewPager Sample?”

El significado de estos comentarios es más o menos:

 if (position < -1) { // here go all 'position' values lesser than -1 //... } else if (position <= 1) { // 'position' in range from -1 to 1, including both -1 and 1 //... } else { // and then all 'position' values greater than 1 go here //... } 

Si está buscando un valor de "infinito" para el tipo Float en Android, entonces hay valores de Float.NEGATIVE_INFINITY y Float.POSITIVE_INFINITY que los representan.

Infinito significa que la view actual está lejos de la pantalla izquierda (infinito negativo) o derecha (infinito positivo), por lo que no es necesario aplicar un factor de escala, simplemente establezca el valor alfa en 0

Tienes que entender que este es un código usado para describir la transición de view al pasar por los fragmentos de ViewPager , por lo que, cuando la view todavía está en la pantalla, se aplica el scaleFactor y cuando está apagado, sólo se establece en invisible o alfa 0 .

En el ejemplo del sitio, el comentario de abajo explica en realidad el comportamiento

 if (position < -1) { // [-Infinity,-1) // This page is way off-screen to the left. view.setAlpha(0); } 

Lo que el infinito negativo a -1 describe son los límites de parámetros de position para que el bloque if pase (es decir, sea verdadero). En el caso -Infinity < position < -1 este código se ejecutará, lo que significa que el código de abajo wille ejecutar en los siguientes puntos:

 else if (position <= 1) { // [-1,1] //true for when position is less than or equal to 1 //but only run when code is greater than or equal to -1 //as this is an else-if } else { // [1,+Infinity] //true for when position is greater than 1 } 

La variable de position explica el posicionamiento del fragmento que se va a transformar.

Así que a partir de esto se puede ver que el límite de infinito negativo y -1 significa que la vista real está fuera de la pantalla en la dirección izquierda . Está fuera de la pantalla en la dirección correcta cuando la posición es mayor que uno y en la pantalla cuando ninguna de estas condiciones está satisfecha.

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.