visor de la cámara
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.5.0-beta01 | 1.4.0-alpha13 |
viewfinder-core | - | - | 1.5.0-beta01 | 1.4.0-alpha13 |
viewfinder-view | - | - | 1.5.0-beta01 | 1.4.0-alpha13 |
Cómo declarar dependencias
Para 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.5.0-beta01" implementation "androidx.camera.viewfinder:viewfinder-compose:1.5.0-beta01" implementation "androidx.camera.viewfinder:viewfinder-core:1.5.0-beta01" }
Kotlin
dependencies { // Use to implement camera viewfinders implementation("androidx.camera.viewfinder:viewfinder-view:1.5.0-beta01") implementation("androidx.camera.viewfinder:viewfinder-core:1.5.0-beta01") implementation("androidx.camera.viewfinder:viewfinder-compose:1.5.0-beta01") }
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.
Consulta la documentación sobre la Herramienta de seguimiento de errores para obtener más información.
Versión 1.5
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 vistas y en Compose que son lo suficientemente flexibles como para usarse con Camera2. Si buscas un elemento View o componible para usar con CameraX, consulta
PreviewView
yCameraXViewfinder
.
Nuevas funciones
- Ahora se pueden usar
ContentScale
yAlignment
en el visor basado en Compose para escalar y colocar la superficie que se muestra dentro de su contenedor, de manera similar a como se comportaandroidx.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únTransformationInfo
, que tendrá de forma predeterminada una rotación de fuente de 0, sin reflejo de fuente ni rectángulo de recorte. (I2b1b2).- El visor componible ahora toma una expresión lambda final para recibir una sesión de Surface, similar a
AndroidExternalSurface
. La lambda proporcionada usaViewfinderInitScope
como receptor, lo que permite instalar una devolución de llamada para recibir nuevas sesiones de Surface. Estas sesiones de la plataforma liberan automáticamente los recursos que contiene el visor cuando salen de su alcance. (Ib2b0d). ViewfinderSurfaceRequest.Builder.populateFromCharacteristics
se quitó y se reemplazó por un conjunto equivalente de APIs estáticas que se pueden usar para generarTransformationInfo
, que producirá la misma transformación quepopulateFromCharacteristics
. Estos métodos estáticos se agregan a la claseCamera2TransformationInfo
. (Idc6af).ViewfinderSurfaceRequest
ya no incluye APIs asíncronas para recuperar la plataforma. 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
porViewfinderView
para que el nombre se alinee con el del elemento componible Viewfinder y para indicar que se puede usar con más fuentes que solo las de la cámara. (Id9e6b). - Las clases de
viewfinder-view
se movieron al subpaqueteandroidx.camera.viewfinder.view
desde el paqueteandroidx.camera.viewfinder
. (I6cb44). - Se agregaron nuevas APIs al visor basado en vistas que permiten configurar la rotación de la fuente, el reflejo y el rectángulo de recorte. Esta clase
TransformationInfo
es la misma que usa el visor basado en Compose. (I907c3). - El visor basado en vistas ahora usa nuevas APIs de
ViewfinderSurfaceRequest
que ya no controlan internamente la respuesta de Surface. En lugar de mostrarListenableFuture<Surface>
, las APIs derequestSurfaceSession()
ahora muestranListenableFuture<ViewfinderSurfaceSession>
, que muestra una claseAutoCloseable
que, cuando se cierra, se comporta de la misma manera que llamar a la API anterior deViewfinderSurfaceRequest.markSurfaceSafeToRelease()
. Esto proporciona una separación más clara de las responsabilidades entre la solicitud y la respuesta de la 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 decompileSdk
. (Ic80cd) - Esta biblioteca ahora usa anotaciones de nulidad de JSpecify, que son de tipo de uso. 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). - Se movió
CameraViewfinder.ScaleType
aviewfinder-core
para que se pueda volver a usar 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 la versión 1.4.0-alpha08, el artefacto del visor de CameraX se trasladó 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 migrar 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 debería ser necesario realizar cambios en el código para realizar esta transición. Las coordenadas de Maven de Viewfinder anteriores 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.