🎉 ¡ImagePickerKMP v1.0.21 ya está aquí! 🚀



This content originally appeared on DEV Community and was authored by Ismoy Belizaire

🎉 ¡ImagePickerKMP v1.0.21 ya está aquí! 🚀

¡Hola comunidad de desarrolladores!

Hoy es un día emocionante para todos los que usan ImagePickerKMP: la nueva versión v1.0.21 (etiquetada “New Feature”) ya está disponible en GitHub. Este release trae dos mejoras muy solicitadas:

  1. Bottom sheet personalizado en iOS
  2. Vista de confirmación configurables en Android

Acompáñame a desglosar lo que implica esta actualización, cómo integrarla en tus proyectos y por qué deberías instalarla ya mismo. 💡

📌 ¿Qué trae la nueva versión?

1⃣ Bottom Sheet Customizable (iOS)

Hasta ahora, la librería ya ofrecía una experiencia nativa en iOS con un Action Sheet tradicional. Con v1.0.21, puedes definir tu propio diseño para el bottom sheet:

  • Componentes de Compose: Usa tus propios composables para el encabezado, la lista de opciones y los botones.
  • Animaciones personalizadas: Controla la duración, la interpolación y los efectos de entrada/ salida.
  • Accesibilidad mejorada: Los elementos son fácilmente navegables con VoiceOver gracias a los nuevos atributos.

Ejemplo rápido

val imagePicker = ImagePicker(
    iOS = IosConfig(
        customBottomSheet = {
            MyCustomBottomSheet(
                onImageSelected = { /* ... */ },
                onCancel = { /* ... */ }
            )
        }
    )
)

Con esto, tu bottom sheet se ajusta a la identidad visual de tu app sin sacrificar la experiencia nativa.

2⃣ Confirmación Visual en Android

Para Android, la librería siempre ofrecía una ventana modal de confirmación sencilla. Ahora puedes personalizarla:

  • Layouts con Compose: Diseña la vista con @Composable y pásala a la configuración.
  • Animaciones de entrada: Elige entre fade, slide, o tus propias animaciones.
  • Botones alternativos: Cambia el texto, iconos o colores según tu branding.

Código de ejemplo

val imagePicker = ImagePicker(
    android = AndroidConfig(
        customConfirmationDialog = {
            MyConfirmationDialog(
                image = it,
                onConfirm = { /* ... */ },
                onCancel = { /* ... */ }
            )
        }
    )
)

Así garantizas que la experiencia de selección sea coherente con el resto de tu UI.

🛠 Mejoras y correcciones

Categoría Detalle
Estabilidad Se arregló un crash al cerrar el picker en modo fullscreen en iOS 17.
Rendimiento Optimización de la carga de imágenes en Android, reduciendo el consumo de memoria en un 15%.
Compatibilidad Soporte actualizado para Kotlin 2.0 y Compose 1.6.
Accesibilidad Se añadió soporte completo para TalkBack y VoiceOver en ambas plataformas.
Bugfix Se corrigió la falta de respuesta en la opción de “tomar foto” cuando el permiso de cámara estaba denegado.

Estas mejoras garantizan que la librería siga siendo robusta y confiable en los entornos más exigentes.

📦 ¿Cómo actualizar?

1⃣ Cambia la versión en tu build.gradle.kts (Kotlin DSL)

implementation("io.github.ismoy:ImagePickerKMP:1.0.21")

2⃣ Si usas Gradle Groovy

implementation "io.github.ismoy:ImagePickerKMP:1.0.21"

3⃣ Revisa la documentación de configuración

  • iOS: La nueva API IocConfig.customBottomSheet se encuentra en la sección Custom UI del README.
  • Android: La opción AndroidConfig.customConfirmationDialog se describe bajo Extending the UI.

Tip: Si tu proyecto ya usa la configuración por defecto, simplemente ignora los parámetros. La librería seguirá funcionando como antes.

4⃣ Prueba en ambos dispositivos

  • En iOS: Ejecuta tu app en un simulador o dispositivo real y verifica que el bottom sheet se muestre con tu diseño.
  • En Android: Asegúrate de que la ventana de confirmación aparece y se comporta como esperas.

🙏 Agradecimientos

Quiero extender un agradecimiento muy especial a [ismoy] por liderar este proyecto y a todos los colaboradores que han contribuido con código, pruebas y documentación. Cada estrella 🌟, fork y comentario en GitHub demuestra que la comunidad está creciendo y, sin duda, la calidad de ImagePickerKMP se eleva gracias a ustedes.

📥 ¡Descárgala y pruébala ya!

No esperes más:

“Un buen proyecto no se mide solo por su código, sino por la comunidad que lo respalda.” – Kotlin & Compose Enthusiasts

🎨 ¿Tienes un diseño que quieres compartir?

Si ya has creado un bottom sheet o una ventana de confirmación personalizada y crees que podría ser útil para otros, ¡no dudes en abrir un PR! La comunidad se beneficia cuando compartimos nuestras mejoras.

🔗 Enlaces útiles

✨ Conclusión

ImagePickerKMP v1.0.21 abre nuevas posibilidades de personalización y ofrece una experiencia más fluida y accesible en ambas plataformas. Si tu app necesita un selector de imágenes o cámara nativo, esta versión es el momento perfecto para implementarlo.

¡Explora, prueba y comparte! 🚀📸

¡Hasta la próxima, comunidad! 👋


This content originally appeared on DEV Community and was authored by Ismoy Belizaire