visor de la cámara

  
Standalone Composable and View based Viewfinder for Camera"

En esta tabla, se enumeran todos los artefactos del grupo androidx.camera-viewfinder.

Artefacto Versión estable Versión potencial Versión beta Versión alfa
viewfinder-compose 1.6.1 - - 1.7.0-alpha02
viewfinder-core 1.6.1 - - 1.7.0-alpha02
viewfinder-view 1.6.1 - - 1.7.0-alpha02
Esta biblioteca se actualizó por última vez el 1 de julio de 2026

Cómo declarar dependencias

Si deseas agregar una dependencia en camera-viewfinder, debes agregar el repositorio de Maven de Google a tu proyecto. Consulta el repositorio de Maven de Google para obtener más información.

Agrega las dependencias de los artefactos que necesites en el archivo build.gradle de tu app o módulo:

Groovy

dependencies {
    // Use to implement camera viewfinders
    
    implementation "androidx.camera.viewfinder:viewfinder-view:1.7.0-alpha02"
    implementation "androidx.camera.viewfinder:viewfinder-compose:1.7.0-alpha02"
    implementation "androidx.camera.viewfinder:viewfinder-core:1.7.0-alpha02"

}

Kotlin

dependencies {
    // Use to implement camera viewfinders
    implementation("androidx.camera.viewfinder:viewfinder-view:1.7.0-alpha02")
    implementation("androidx.camera.viewfinder:viewfinder-core:1.7.0-alpha02")
    implementation("androidx.camera.viewfinder:viewfinder-compose:1.7.0-alpha02")


}

Para obtener más información sobre las dependencias, consulta Cómo agregar dependencias de compilación.

Comentarios

Tus comentarios ayudan a mejorar Jetpack. Avísanos si descubres nuevos errores o tienes ideas para mejorar esta biblioteca. Consulta los errores existentes de esta biblioteca antes de crear uno nuevo. Puedes agregar tu voto a un error existente haciendo clic en el botón de la estrella.

Crear un error nuevo

Consulta la documentación sobre Issue Tracker para obtener más información.

Versión 1.7

Versión 1.7.0-alpha02

1 de julio de 2026

Lanzamiento de androidx.camera.viewfinder:viewfinder-compose:1.7.0-alpha02, androidx.camera.viewfinder:viewfinder-core:1.7.0-alpha02 y androidx.camera.viewfinder:viewfinder-view:1.7.0-alpha02. La versión 1.7.0-alpha02 contiene estas confirmaciones.

Cambios en la API

  • CameraXViewfinder ahora admite gestos integrados para pellizcar para hacer zoom y presionar para enfocar, y agrega compatibilidad con el flash de la pantalla y el estado de la transmisión. FocusState ahora es público en viewfinder-core para permitir la supervisión de los resultados de presionar para enfocar. (I66a17, b/522549890)
  • Se agregó la propiedad TransformationMode a TransformationInfo para permitir que las apps usen la canalización OpenGL en el modo EMBEDDED. (Id1de1, b/487826941)

Correcciones de errores

  • Se quitó el requisito de compileSdk 37 (If78b4).

Versión 1.7.0-alpha01

11 de marzo de 2026

Lanzamiento de androidx.camera.viewfinder:viewfinder-compose:1.7.0-alpha01, androidx.camera.viewfinder:viewfinder-core:1.7.0-alpha01 y androidx.camera.viewfinder:viewfinder-view:1.7.0-alpha01. La versión 1.7.0-alpha01 contiene estas confirmaciones.

Versión 1.6

Versión 1.6.1

6 de mayo de 2026

Lanzamiento de androidx.camera.viewfinder:viewfinder-compose:1.6.1, androidx.camera.viewfinder:viewfinder-core:1.6.1 y androidx.camera.viewfinder:viewfinder-view:1.6.1. La versión 1.6.1 contiene estas confirmaciones.

Versión 1.6.0

25 de marzo de 2026

Lanzamiento de androidx.camera.viewfinder:viewfinder-compose:1.6.0, androidx.camera.viewfinder:viewfinder-core:1.6.0 y androidx.camera.viewfinder:viewfinder-view:1.6.0. La versión 1.6.0 contiene estas confirmaciones.

Cambios importantes desde la versión 1.5.0:

  • Se expuso el visor predeterminado ImplementationMode a través de la nueva API pública ViewfinderDefaults.implementationMode. Ahora se usa como valor predeterminado para ViewfinderView y el elemento componible Viewfinder. (Ic3f52)

Versión 1.6.0-rc01

25 de febrero de 2026

Lanzamiento de androidx.camera.viewfinder:viewfinder-compose:1.6.0-rc01, androidx.camera.viewfinder:viewfinder-core:1.6.0-rc01 y androidx.camera.viewfinder:viewfinder-view:1.6.0-rc01. La versión 1.6.0-rc01 contiene estas confirmaciones.

Versión 1.6.0-beta02

11 de febrero de 2026

Lanzamiento de androidx.camera.viewfinder:viewfinder-compose:1.6.0-beta02, androidx.camera.viewfinder:viewfinder-core:1.6.0-beta02 y androidx.camera.viewfinder:viewfinder-view:1.6.0-beta02. La versión 1.6.0-beta02 contiene estas confirmaciones.

Versión 1.6.0-beta01

28 de enero de 2026

Lanzamiento de androidx.camera.viewfinder:viewfinder-compose:1.6.0-beta01, androidx.camera.viewfinder:viewfinder-core:1.6.0-beta01 y androidx.camera.viewfinder:viewfinder-view:1.6.0-beta01. La versión 1.6.0-beta01 contiene estas confirmaciones.

Versión 1.6.0-alpha02

17 de diciembre de 2025

Lanzamiento de androidx.camera.viewfinder:viewfinder-compose:1.6.0-alpha02, androidx.camera.viewfinder:viewfinder-core:1.6.0-alpha02 y androidx.camera.viewfinder:viewfinder-view:1.6.0-alpha02. La versión 1.6.0-alpha02 contiene estas confirmaciones.

Versión 1.6.0-alpha01

22 de octubre de 2025

Lanzamiento de androidx.camera.viewfinder:viewfinder-compose:1.6.0-alpha01, androidx.camera.viewfinder:viewfinder-core:1.6.0-alpha01 y androidx.camera.viewfinder:viewfinder-view:1.6.0-alpha01. La versión 1.6.0-alpha01 contiene estas confirmaciones.

Cambios en la API

  • Se expuso el visor predeterminado ImplementationMode a través de la nueva API pública ViewfinderDefaults.implementationMode. Ahora se usa como valor predeterminado para ViewfinderView y el elemento componible Viewfinder. (Ic3f52)

Versión 1.5

Versión 1.5.3

28 de enero de 2026

Lanzamiento de androidx.camera.viewfinder:viewfinder-compose:1.5.3, androidx.camera.viewfinder:viewfinder-core:1.5.3 y androidx.camera.viewfinder:viewfinder-view:1.5.3. La versión 1.5.3 contiene estas confirmaciones.

Versión 1.5.2

4 de diciembre de 2025

Lanzamiento de androidx.camera.viewfinder:viewfinder-compose:1.5.2, androidx.camera.viewfinder:viewfinder-core:1.5.2 y androidx.camera.viewfinder:viewfinder-view:1.5.2. La versión 1.5.2 contiene estas confirmaciones.

Versión 1.5.1

8 de octubre de 2025

Lanzamiento de androidx.camera.viewfinder:viewfinder-compose:1.5.1, androidx.camera.viewfinder:viewfinder-core:1.5.1 y androidx.camera.viewfinder:viewfinder-view:1.5.1. La versión 1.5.1 contiene estas confirmaciones.

Versión 1.5.0

10 de septiembre de 2025

Lanzamiento de androidx.camera.viewfinder:viewfinder-compose:1.5.0, androidx.camera.viewfinder:viewfinder-core:1.5.0 y androidx.camera.viewfinder:viewfinder-view:1.5.0. La versión 1.5.0 contiene estas confirmaciones.

Cambios importantes desde la versión 1.4.0:

Esta es la primera versión estable de la biblioteca de Viewfinder de la cámara, que proporciona APIs sólidas, compatibles con el ciclo de vida y fáciles de usar basadas en View y Compose. Estos componentes están diseñados para funcionar como un visor de la cámara y se pueden integrar directamente con Camera2.

Esta versión también establece la base para el nuevo artefacto androidx.camera:camera-compose, que presenta CameraXViewfinder, un visor idiomático de Compose que se integra sin problemas con SurfaceRequests de CameraX, de manera similar a como funciona PreviewView para diseños basados en View. Algunos de los cambios más importantes incluyen los siguientes:

  • Reubicación de artefactos: Para mejorar la modularidad, los artefactos de Viewfinder se movieron a su propio grupo de bibliotecas. Los desarrolladores que usaban dependencias androidx.camera:camera-viewfinder* anteriormente deben migrar a androidx.camera.viewfinder:viewfinder-*.
  • Estabilización y refinamientos de la API: Se pulió la superficie de la API para esta versión estable. Esto incluye cambiar el nombre de CameraViewfinder a ViewfinderView para reflejar mejor su versatilidad, reorganizar los paquetes para mayor claridad y convertir ViewfinderSurfaceRequest en un tipo de datos inmutable para una administración de estado más predecible.
  • Actualizaciones de la API de Compose: La API de Compose Viewfinder ahora admite ContentScale y Alignment para un control detallado sobre cómo se muestra la transmisión de la cámara dentro de su contenedor, lo que refleja el comportamiento del elemento componible androidx.compose.foundation.Image estándar.
  • Administración del ciclo de vida de Surface: ViewfinderSurfaceSession ahora se mantiene activo en los cambios de configuración y los eventos del ciclo de vida en la API 29 y versiones posteriores. Este cambio está diseñado para reducir los fotogramas descartados y proporcionar una experiencia del usuario más fluida.
  • Valores predeterminados del modo de implementación: Viewfinder ahora usa de forma predeterminada un ImplementationMode inteligente que selecciona automáticamente la mejor implementación subyacente. Prioriza el SurfaceView de alto rendimiento (modo EXTERNAL) y vuelve sin problemas a TextureView (EMBEDDED) más compatible en niveles de API o dispositivos más antiguos con problemas de compatibilidad conocidos. Este comportamiento aún se puede anular para un control total del desarrollador.

Correcciones de errores

  • El elemento componible Viewfinder ahora funciona correctamente dentro de Pager de Compose y con movableContentOf(), lo que garantiza que la superficie se restablezca y administre correctamente en situaciones complejas de la IU. (I0d9be, I79432)
  • Se solucionó un problema en Android 10 y 11 en el que el Viewfinder basado en SurfaceView podía aparecer estirado cuando se aplicaban transformaciones. (Icc77c)

Versión 1.5.0-rc01

13 de agosto de 2025

Lanzamiento de androidx.camera.viewfinder:viewfinder-compose:1.5.0-rc01, androidx.camera.viewfinder:viewfinder-core:1.5.0-rc01 y androidx.camera.viewfinder:viewfinder-view:1.5.0-rc01. La versión 1.5.0-rc01 contiene estas confirmaciones.

Correcciones de errores

Versión 1.5.0-beta03

16 de julio de 2025

Lanzamiento de androidx.camera.viewfinder:viewfinder-compose:1.5.0-beta03, androidx.camera.viewfinder:viewfinder-core:1.5.0-beta03 y androidx.camera.viewfinder:viewfinder-view:1.5.0-beta03. La versión 1.5.0-beta03 contiene estas confirmaciones.

Correcciones de errores

  • El ImplementationMode predeterminado para Viewfinder (tanto basado en Compose como en View) ahora selecciona de forma inteligente entre EXTERNAL (para el rendimiento) y EMBEDDED (para la compatibilidad en APIs más antiguas o dispositivos extraños). Este comportamiento aún se puede anular con la configuración explícita en ViewfinderSurfaceRequest o los atributos XML (en la API basada en View). (Iecd3a)
  • Se mejoró la administración de sesiones de Surface permitiendo que ViewfinderSurfaceSession se mantenga activo en los ciclos de vida de creación y destrucción de la superficie cuando se usa TextureView o SurfaceView en la API 29 y versiones posteriores (I112d9).
  • Viewfinder ahora garantiza que las superficies se publiquen en el momento adecuado, solo cuando la sesión ya no las use, en lugar de publicarlas siempre cuando se desecha el elemento componible. Para EXTERNAL (SurfaceView), este comportamiento solo está disponible actualmente en la API 29 y versiones posteriores. Para EMBEDDED (TextureView), este comportamiento está presente en todos los niveles de API. (I9a03f)
  • Viewfinder ahora controla correctamente el reemplazo de la superficie en situaciones como cuando un visor EXTERNAL en el nivel de API 28 o inferior se mueve fuera de la pantalla o si un Viewfinder (con cualquier ImplementationMode) forma parte de moveableContentOf(). (I79432)
  • El elemento componible Viewfinder ahora funciona correctamente con Pager de Compose. Este cambio garantiza que el elemento componible se pueda restablecer correctamente mediante la implementación de la devolución de llamada onReset de AndroidView, que admite implementaciones EMBEDDED y EXTERNAL. (I0d9be)
  • Se solucionó un problema en Android 10/11 en el que el Viewfinder EXTERNAL podía aparecer estirado o incorrecto debido a que las operaciones de transformación (como escalar o traducir) se aplicaban demasiado pronto. El sistema ahora espera a que se cree la superficie antes de aplicar estas transformaciones en la fase de diseño, lo que garantiza una salida correcta. (Icc77c)

Versión 1.5.0-beta02

7 de junio de 2023

Lanzamiento de androidx.camera.viewfinder:viewfinder-compose:1.5.0-beta02, androidx.camera.viewfinder:viewfinder-core:1.5.0-beta02 y androidx.camera.viewfinder:viewfinder-view:1.5.0-beta02. La versión 1.5.0-beta02 contiene estas confirmaciones.

Versión 1.5.0-beta01

7 de mayo de 2025

Lanzamiento de androidx.camera.viewfinder:viewfinder-compose:1.5.0-beta01, androidx.camera.viewfinder:viewfinder-core:1.5.0-beta01 y androidx.camera.viewfinder:viewfinder-view:1.5.0-beta01. La versión 1.5.0-beta01 contiene estas confirmaciones.

  • Esta es la primera versión beta oficial de los visores basados en View y Compose que son lo suficientemente flexibles para usarse con Camera2. Si buscas una vista o un elemento componible para usar con CameraX, consulta PreviewView y CameraXViewfinder.

Nuevas funciones

  • Ahora se pueden usar ContentScale y Alignment en el visor basado en Compose para escalar y colocar la superficie mostrada dentro de su contenedor, de manera similar a como se comporta androidx.compose.foundation.Image. (Ibcea3)

Cambios en la API

  • TransformationInfo ahora tiene valores predeterminados para todos los argumentos. Esto permitirá que se creen visores sin ningún TransformationInfo, que usará de forma predeterminada una rotación de origen de 0, sin duplicación de origen y sin rect de recorte. (I2b1b2)
  • El visor componible ahora toma una expresión lambda final para recibir una sesión de Surface, de manera similar a AndroidExternalSurface. La expresión lambda proporcionada usa ViewfinderInitScope como receptor, lo que permite instalar una devolución de llamada para recibir nuevas sesiones de Surface. Estas sesiones de Surface liberan automáticamente los recursos que contiene el visor cuando están fuera del alcance. (Ib2b0d)
  • Se quitó ViewfinderSurfaceRequest.Builder.populateFromCharacteristics y ahora se reemplaza por un conjunto equivalente de APIs estáticas que se pueden usar para generar TransformationInfo, que producirá la misma transformación que populateFromCharacteristics. Estos métodos estáticos se agregan a la clase Camera2TransformationInfo. (Idc6af)
  • ViewfinderSurfaceRequest ya no incluye APIs asíncronas para recuperar la superficie. Ahora es un tipo de datos inmutable. Las APIs para recuperar la superficie ahora se mueven al visor. (I30127)
  • Se cambió el nombre de CameraViewfinder a ViewfinderView para que el nombre se alinee con el nombre del visor componible y para indicar que se puede usar con más fuentes que solo la cámara. (Id9e6b)
  • Las clases de viewfinder-view se movieron al subpaquete androidx.camera.viewfinder.view desde el paquete androidx.camera.viewfinder. (I6cb44)
  • Se agregaron APIs nuevas al visor basado en View que permiten configurar la rotación de origen, la duplicación y el rectángulo de recorte. Esta clase TransformationInfo es la misma que usa el visor basado en Compose. (I907c3)
  • El visor basado en View ahora usa las nuevas APIs de ViewfinderSurfaceRequest que ya no controlan internamente la respuesta de Surface. En lugar de mostrar ListenableFuture<Surface>, las APIs de requestSurfaceSession() ahora muestran ListenableFuture<ViewfinderSurfaceSession>, que muestra una clase AutoCloseable que, cuando se cierra, se comporta de la misma manera que cuando se llama a la API anterior de ViewfinderSurfaceRequest.markSurfaceSafeToRelease(). Esto proporciona una separación más clara de las responsabilidades entre la solicitud de superficie y la respuesta de superficie. (I19041)

Versión 1.4

Versión 1.4.0-alpha13

26 de febrero de 2025

Lanzamiento de androidx.camera.viewfinder:viewfinder-compose:1.4.0-alpha13, androidx.camera.viewfinder:viewfinder-core:1.4.0-alpha13 y androidx.camera.viewfinder:viewfinder-view:1.4.0-alpha13. La versión 1.4.0-alpha13 contiene estas confirmaciones.

Versión 1.4.0-alpha12

15 de enero de 2025

Lanzamiento de androidx.camera.viewfinder:viewfinder-compose:1.4.0-alpha12, androidx.camera.viewfinder:viewfinder-core:1.4.0-alpha12 y androidx.camera.viewfinder:viewfinder-view:1.4.0-alpha12. La versión 1.4.0-alpha12 contiene estas confirmaciones.

Nuevas funciones

  • Se actualizó compileSdk a 35 para usar la API relacionada con Android 15. Las apps que usan bibliotecas de CameraX también deberán actualizar su configuración de compileSdk. (Ic80cd)
  • Esta biblioteca ahora usa anotaciones de nulabilidad de JSpecify, que son de uso de tipo. Los desarrolladores de Kotlin deben usar el siguiente argumento del compilador para aplicar el uso correcto: -Xjspecify-annotations=strict (este es el valor predeterminado a partir de la versión 2.1.0 del compilador de Kotlin). (I7bcd7, b/326456246)

Versión 1.4.0-alpha11

11 de diciembre de 2024

Lanzamiento de androidx.camera.viewfinder:viewfinder-compose:1.4.0-alpha11, androidx.camera.viewfinder:viewfinder-core:1.4.0-alpha11 y androidx.camera.viewfinder:viewfinder-view:1.4.0-alpha11. La versión 1.4.0-alpha11 contiene estas confirmaciones.

Cambios en la API

  • Las clases viewfinder-core se movieron a paquetes que son coherentes con la biblioteca a la que pertenecen. (I431c6)
  • CameraViewfinder.ScaleType se movió a viewfinder-core para que se pueda reutilizar con Compose (I87ef1).
  • Se quitaron las clases CameraViewfinder obsoletas. Usa las nuevas APIs que proporcionan una funcionalidad equivalente. (I6e59a)

Versión 1.4.0-alpha10

30 de octubre de 2024

Lanzamiento de androidx.camera.viewfinder:viewfinder-compose:1.4.0-alpha10, androidx.camera.viewfinder:viewfinder-core:1.4.0-alpha10 y androidx.camera.viewfinder:viewfinder-view:1.4.0-alpha10. La versión 1.4.0-alpha10 contiene estas confirmaciones.

Versión 1.4.0-alpha09

2 de octubre de 2024

Lanzamiento de androidx.camera.viewfinder:viewfinder-compose:1.4.0-alpha09, androidx.camera.viewfinder:viewfinder-core:1.4.0-alpha09 y androidx.camera.viewfinder:viewfinder-view:1.4.0-alpha09. La versión 1.4.0-alpha09 contiene estas confirmaciones.

Versión 1.4.0-alpha08

4 de septiembre de 2024

Lanzamiento de androidx.camera.viewfinder:viewfinder-compose:1.4.0-alpha08, androidx.camera.viewfinder:viewfinder-core:1.4.0-alpha08 y androidx.camera.viewfinder:viewfinder-view:1.4.0-alpha08. La versión 1.4.0-alpha08 contiene estas confirmaciones.

Nuevas funciones

Con la actualización a 1.4.0-alpha08, el artefacto de Viewfinder de CameraX se movió a su propio grupo de bibliotecas. Este cambio es necesario para mejorar la modularidad y el mantenimiento de la biblioteca de CameraX.

Si antes dependías de androidx.camera:camera-viewfinder, androidx.camera:camera-viewfinder-compose o androidx.camera:camera-viewfinder-core, deberás hacer la transición de tus dependencias a lo siguiente:

  • androidx.camera:camera-viewfinder -> androidx.camera.viewfinder:viewfinder-view
  • androidx.camera:camera-viewfinder-compose -> androidx.camera.viewfinder:viewfinder-compose
  • androidx.camera:camera-viewfinder-core -> androidx.camera.viewfinder:viewfinder-core

No se deberían necesitar cambios de código para realizar esta transición. Las coordenadas de Maven del Viewfinder anterior ya no recibirán actualizaciones.

Además, si usas Compose con CameraX, ahora hay disponible una nueva biblioteca de Compose en versión alfa: androidx.camera:camera-compose. Esto proporciona el elemento componible CameraXViewfinder, que es un visor idiomático de Compose que adapta SurfaceRequest de CameraX a Compose, de manera similar a como funciona PreviewView para las vistas.