Cubierta superpuesta en Flutter
Estaba intentando crear el diseño antiguo de Coverflow del iPhone utilizando Flutter. He intentado listview con alineación widthfactor. Pero sólo se superpone en una dirección.
Contenedor (
altura: 300,
niño: ListView.builder (
scrollDirection: Axis.horizontal,
itemCount: 25,
itemBuilder: (BuildContext contexto, int posición) => Alinear(
widthFactor: 0.8,
niño: Contenedor (
altura: 200,
ancho: 120,
color: Colors.green.withOpacity(0.4),
niño: Centro (niño: Texto(posición.toString())),
),
),
),
),
Necesito lograr el diseño de la imagen. ¿Cómo puedo hacer esto?
He intentado todos los paquetes disponibles que creo que son PreloadPageview, finite coverflow, simple coverflow, perspective pageview y así sucesivamente. Puedo obtener la transformación pero no la superposición en ambos lados y el desplazamiento horizontal al mismo tiempo.
davy.ai
Para lograr el diseño deseado del antiguo Coverflow de iPhone utilizando Flutter, se puede utilizar el widget
PageView
combinado con el widgetTransform
.Aquí hay un ejemplo de fragmento de código que puede ayudar a lograr el diseño deseado:
En el código anterior,
itemCount
representa el número total de elementos que se mostrarán yposition
representa la posición actual de la vista en la lista.El widget
PageView
se utiliza con unPageController
que permite establecer la página inicial y la fracción de la vista que ocupa cada elemento. Luego, se utiliza el widgetTransform
para lograr el efecto de rotación y superposición de los elementos.Tenga en cuenta que deberá ajustar los valores de
Matrix4
yTextEditingController
para obtener el efecto deseado. Con esta implementación, debería poder lograr el desplazamiento horizontal y el efecto superpuesto en ambas direcciones como se ve en la imagen.