viseur de l'appareil photo
Ce tableau présente tous les artefacts du groupe androidx.camera-viewfinder
.
Artefact | Version stable | Version finale | Version bêta | Version alpha |
---|---|---|---|---|
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 |
Déclarer des dépendances
Pour ajouter une dépendance à camera-viewfinder, vous devez ajouter le dépôt Maven de Google à votre projet. Pour en savoir plus, consultez la section Dépôt Maven de Google.
Ajoutez les dépendances correspondant aux artefacts dont vous avez besoin dans le fichier build.gradle
de votre application ou de votre module :
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") }
Pour en savoir plus sur les dépendances, consultez Ajouter des dépendances de compilation.
Commentaires
Vos commentaires nous aident à améliorer Jetpack. N'hésitez pas à nous contacter si vous découvrez de nouveaux problèmes ou si vous avez des idées pour améliorer cette bibliothèque. Veuillez consulter les problèmes existants de cette bibliothèque avant d'en signaler un nouveau. Vous pouvez ajouter votre vote à un problème existant en cliquant sur le bouton en forme d'étoile.
Pour en savoir plus, consultez la documentation sur l'outil Issue Tracker.
Version 1.5
Version 1.5.0-beta01
7 mai 2025
Publication d'androidx.camera.viewfinder:viewfinder-compose:1.5.0-beta01
, androidx.camera.viewfinder:viewfinder-core:1.5.0-beta01
et androidx.camera.viewfinder:viewfinder-view:1.5.0-beta01
. La version 1.5.0-beta01 contient ces commits.
- Il s'agit de la première version bêta officielle des viseurs basés sur la vue et sur Compose, qui sont suffisamment flexibles pour être utilisés avec Camera2. Si vous recherchez une vue ou un composable à utiliser avec CameraX, consultez
PreviewView
etCameraXViewfinder
.
Nouvelles fonctionnalités
ContentScale
etAlignment
peuvent désormais être utilisés dans le viseur basé sur Compose pour mettre à l'échelle et placer la surface affichée dans son conteneur, comme le faitandroidx.compose.foundation.Image
. (Ibcea3)
Modifications apportées à l'API
TransformationInfo
dispose désormais de valeurs par défaut pour tous les arguments. Cela permet de créer des viseurs sansTransformationInfo
, ce qui entraîne une rotation de la source de 0 par défaut, aucune mise en miroir de la source et aucun rectangle de recadrage. (I2b1b2)- Le composable Viewfinder accepte désormais un lambda de fin pour recevoir une session Surface, comme
AndroidExternalSurface
. Le lambda fourni utiliseViewfinderInitScope
comme récepteur, ce qui permet d'installer un rappel pour recevoir de nouvelles sessions Surface. Ces sessions de surface libèrent automatiquement les ressources détenues par le viseur lorsqu'elles sortent du champ d'application. (Ib2b0d) ViewfinderSurfaceRequest.Builder.populateFromCharacteristics
a été supprimé et remplacé par un ensemble équivalent d'API statiques qui peuvent être utilisées pour générerTransformationInfo
, ce qui produira la même transformation quepopulateFromCharacteristics
. Ces méthodes statiques sont ajoutées à la classeCamera2TransformationInfo
. (Idc6af)ViewfinderSurfaceRequest
n'inclut plus d'API asynchrones pour récupérer la surface. Il s'agit désormais d'un type de données immuable. Les API permettant de récupérer la surface sont désormais déplacées vers le viseur. (I30127)CameraViewfinder
a été renomméViewfinderView
pour que son nom corresponde à celui du composable Viewfinder et pour indiquer qu'il peut être utilisé avec d'autres sources que les caméras. (Id9e6b)- Les classes de
viewfinder-view
ont été déplacées vers le sous-packageandroidx.camera.viewfinder.view
du packageandroidx.camera.viewfinder
. (I6cb44) - De nouvelles API sont ajoutées au viseur basé sur la vue, qui permettent de définir la rotation, le miroir et le rectangle de recadrage de la source. Cette classe
TransformationInfo
est la même que celle utilisée par le viseur basé sur Compose. (I907c3) - Le viseur basé sur la vue utilise désormais de nouvelles API
ViewfinderSurfaceRequest
qui ne gèrent plus en interne la réponse Surface. Au lieu de renvoyerListenableFuture<Surface>
, les APIrequestSurfaceSession()
renvoient désormaisListenableFuture<ViewfinderSurfaceSession>
, qui renvoie une classeAutoCloseable
qui, lorsqu'elle est fermée, se comporte de la même manière que l'appel de l'ancienne API deViewfinderSurfaceRequest.markSurfaceSafeToRelease()
. Cela permet de séparer plus clairement les responsabilités entre la requête de surface et la réponse de surface. (I19041)
Version 1.4
Version 1.4.0-alpha13
26 février 2025
Publication d'androidx.camera.viewfinder:viewfinder-compose:1.4.0-alpha13
, androidx.camera.viewfinder:viewfinder-core:1.4.0-alpha13
et androidx.camera.viewfinder:viewfinder-view:1.4.0-alpha13
. La version 1.4.0-alpha13 contient ces commits.
Version 1.4.0-alpha12
15 janvier 2025
Publication d'androidx.camera.viewfinder:viewfinder-compose:1.4.0-alpha12
, androidx.camera.viewfinder:viewfinder-core:1.4.0-alpha12
et androidx.camera.viewfinder:viewfinder-view:1.4.0-alpha12
. La version 1.4.0-alpha12 contient ces commits.
Nouvelles fonctionnalités
- Mise à niveau de
compileSdk
en version 35 pour utiliser l'API liée à Android 15. Les applications qui utilisent les bibliothèques CameraX devront également mettre à niveau leur paramètre de configurationcompileSdk
. (Ic80cd) - Cette bibliothèque utilise désormais les annotations de nullité JSpecify, qui sont des annotations de type. Les développeurs Kotlin doivent utiliser l'argument de compilateur suivant pour appliquer une utilisation correcte:
-Xjspecify-annotations=strict
(valeur par défaut à partir de la version 2.1.0 du compilateur Kotlin). (I7bcd7, b/326456246)
Version 1.4.0-alpha11
11 décembre 2024
Publication d'androidx.camera.viewfinder:viewfinder-compose:1.4.0-alpha11
, androidx.camera.viewfinder:viewfinder-core:1.4.0-alpha11
et androidx.camera.viewfinder:viewfinder-view:1.4.0-alpha11
. La version 1.4.0-alpha11 contient ces commits.
Modifications apportées à l'API
- Les classes
viewfinder-core
ont été déplacées vers des packages cohérents avec la bibliothèque à laquelle elles appartiennent. (I431c6) CameraViewfinder.ScaleType
a été déplacé versviewfinder-core
afin de pouvoir être réutilisé avec Compose. (I87ef1)- Les classes
CameraViewfinder
obsolètes sont supprimées. Veuillez utiliser les nouvelles API qui offrent des fonctionnalités équivalentes. (I6e59a)
Version 1.4.0-alpha10
30 octobre 2024
Publication d'androidx.camera.viewfinder:viewfinder-compose:1.4.0-alpha10
, androidx.camera.viewfinder:viewfinder-core:1.4.0-alpha10
et androidx.camera.viewfinder:viewfinder-view:1.4.0-alpha10
. La version 1.4.0-alpha10 contient ces commits.
Version 1.4.0-alpha09
2 octobre 2024
Publication d'androidx.camera.viewfinder:viewfinder-compose:1.4.0-alpha09
, androidx.camera.viewfinder:viewfinder-core:1.4.0-alpha09
et androidx.camera.viewfinder:viewfinder-view:1.4.0-alpha09
. La version 1.4.0-alpha09 contient ces commits.
Version 1.4.0-alpha08
4 septembre 2024
Publication d'androidx.camera.viewfinder:viewfinder-compose:1.4.0-alpha08
, androidx.camera.viewfinder:viewfinder-core:1.4.0-alpha08
et androidx.camera.viewfinder:viewfinder-view:1.4.0-alpha08
. La version 1.4.0-alpha08 contient ces commits.
Nouvelles fonctionnalités
Avec la mise à jour vers la version 1.4.0-alpha08, l'artefact du viseur CameraX a été déplacé vers son propre groupe de bibliothèques. Cette modification est nécessaire pour améliorer la modularité et la facilité de maintenance de la bibliothèque CameraX.
Si vous dépendiez auparavant de androidx.camera:camera-viewfinder
, androidx.camera:camera-viewfinder-compose
ou androidx.camera:camera-viewfinder-core
, vous devrez passer à ce qui suit:
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
Aucune modification de code ne devrait être nécessaire pour effectuer cette transition. Les anciennes coordonnées Maven de Viewfinder ne recevront plus de mises à jour.
De plus, si vous utilisez Compose avec CameraX, une nouvelle bibliothèque Compose first est désormais disponible en version alpha: androidx.camera:camera-compose
. Cela fournit le composable CameraXViewfinder
, qui est un viseur idiomatique Compose qui adapte SurfaceRequest
de CameraX à Compose, comme PreviewView
fonctionne pour les vues.