¿Cuál es la diferencia entre ViewFlipper y ViewSwitcher?

89

Ambos heredan ViewAnimator. Sé que ViewSwitchersolo permite dos vistas, mientras que ViewFlipperpermite más. Pero, ¿por qué creó Android ViewSwitcher, si es solo un ViewFlippercon 2 vistas? ¿Hay otras diferencias? ¿Con qué condición se utilizará uno superior al otro?

user412759
fuente

Respuestas:

84

Por lo que puedo decir, ViewSwitcher se usa si desea cambiar entre dos vistas como dijo. Útil si tiene 2 vistas que tiene que ir y venir con bastante regularidad. Y la clase implementa una ViewFactory si desea usarla.

Sin embargo, ViewFlipper se puede utilizar si desea cambiar periódicamente las vistas. Diga como un libro de volteo automático de algún tipo. Aunque una galería de adaptadores personalizados es mucho mejor en esto.

Y sí, eso es todo. Realmente no son mucho más útiles que ViewAnimator. Por qué el desarrollo de Android hace algo es realmente un misterio para mí.

Normalmente preferiría usar un ViewAnimator porque te da más libertad y, por lo tanto, flexibilidad en la forma de diseñar. Pero si desea funciones como ViewFactory y solo tiene 2 vistas, use ViewSwitcher. Si desea poder cambiar las vistas periódicamente, use ViewFlipper. Si no necesita ninguno de los dos, use un ViewAnimator.

alexanderjslin
fuente
Habiendo implementado un flipper de vista que contiene aproximadamente 10 vistas personalizadas de principalmente texto, y esperando 5 segundos para la primera carga, creo que el beneficio de una fábrica de vistas es hacer que la inicialización sea más rápida. También obtengo una respuesta lenta en los botones de avance y retroceso. Hay algo mal con ViewAnimator, no estoy seguro de por qué debería tardar tanto. Lo perfilaré con traceview a finales de esta semana y publicaré lo que averigüe.
William T. Mallard
@ WilliamT.Mallard Es 2020.
Mitch
13

ViewFlipper admite más de dos vistas, ViewSwitcher solo admite 2.

Evan R.
fuente
36
¿No era esa la pregunta :)
paweloque
7

No estoy seguro de si hay grandes diferencias entre ellos, pero por lo que he recopilado, la diferencia es que ViewSwitcher se usa en circunstancias en las que la vista es la misma pero los datos son diferentes, como en una aplicación de calendario, solo estamos cambiando los datos en la vista.

digitalWestie
fuente