El paquete card_swiper
es una herramienta popular en Flutter que permite crear carruseles interactivos y personalizables, ideales para mostrar tarjetas, imágenes o contenido desplazable en una interfaz fluida.
card_swiper
y para qué sirve?
card_swiper
es un widget que facilita la creación de carruseles deslizables con múltiples efectos de transición. Es útil para mostrar galerías de imágenes, secciones destacadas, presentaciones de productos y más.
Añade card_swiper
a tu archivo pubspec.yaml
:
dependencies:
flutter:
sdk: flutter
card_swiper: ^2.0.4
Ejecuta el comando:
flutter pub get
card_swiper
1. Importar el paquete:
import 'package:card_swiper/card_swiper.dart';
2. Crear un carrusel simple:
Usa el widget Swiper
para mostrar un carrusel de tarjetas o imágenes:
import 'package:flutter/material.dart';
import 'package:card_swiper/card_swiper.dart';
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(title: Text('Ejemplo de card_swiper')),
body: Swiper(
itemBuilder: (BuildContext context, int index) {
return Image.network(
'https://picsum.photos/400/300?random=$index',
fit: BoxFit.cover,
);
},
itemCount: 5,
pagination: SwiperPagination(),
control: SwiperControl(),
),
),
);
}
}
Swiper
Propiedad | Descripción |
---|---|
itemCount
|
Número total de elementos en el carrusel. |
itemBuilder
|
Función que construye cada elemento del carrusel. |
pagination
|
Widget para mostrar la paginación (e.g., puntos o indicadores). |
control
|
Controles de navegación (flechas de adelante/atrás). |
loop
|
Determina si el carrusel se repite en bucle (por defecto es true ).
|
autoplay
|
Activa el desplazamiento automático del carrusel. |
scrollDirection
|
Dirección del desplazamiento: Axis.horizontal o Axis.vertical .
|
onIndexChanged
|
Callback que se activa cuando cambia el índice del carrusel. |
Swiper(
itemBuilder: (BuildContext context, int index) {
return Container(
color: Colors.blueAccent,
child: Center(
child: Text(
'Tarjeta $index',
style: TextStyle(fontSize: 24, color: Colors.white),
),
),
);
},
itemCount: 5,
autoplay: true,
loop: true,
duration: 800,
pagination: SwiperPagination(
builder: DotSwiperPaginationBuilder(
activeColor: Colors.red,
color: Colors.grey,
),
),
);
Swiper(
itemBuilder: (BuildContext context, int index) {
return Card(
child: Center(
child: Text(
'Tarjeta $index',
style: TextStyle(fontSize: 24),
),
),
);
},
itemCount: 5,
layout: SwiperLayout.STACK,
itemWidth: 300.0,
itemHeight: 200.0,
);
card_swiper
Método | Descripción |
---|---|
SwiperController
|
Controla el carrusel de forma programática. |
SwiperPagination.builder
|
Personaliza el estilo de los indicadores de paginación. |
SwiperControl
|
Agrega botones de control para avanzar o retroceder. |
final SwiperController controller = SwiperController();
Swiper(
controller: controller,
itemCount: 5,
itemBuilder: (BuildContext context, int index) {
return Image.network('https://picsum.photos/400/300?random=$index');
},
);
ElevatedButton(
onPressed: () {
controller.next(); // Avanza al siguiente elemento
},
child: Text('Siguiente'),
);
Para más detalles y opciones avanzadas, consulta la documentación oficial del paquete card_swiper.
Jorge García
Fullstack developer