viseur de l'appareil photo

  
Composable autonome et viseur basé sur la vue pour 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
Dernière mise à jour de la bibliothèque: 7 mai 2025

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.

Signaler un nouveau problème

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 et CameraXViewfinder.

Nouvelles fonctionnalités

  • ContentScale et Alignment 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 fait androidx.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 sans TransformationInfo, 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 utilise ViewfinderInitScope 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érer TransformationInfo, ce qui produira la même transformation que populateFromCharacteristics. Ces méthodes statiques sont ajoutées à la classe Camera2TransformationInfo. (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-package androidx.camera.viewfinder.view du package androidx.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 renvoyer ListenableFuture<Surface>, les API requestSurfaceSession() renvoient désormais ListenableFuture<ViewfinderSurfaceSession>, qui renvoie une classe AutoCloseable qui, lorsqu'elle est fermée, se comporte de la même manière que l'appel de l'ancienne API de ViewfinderSurfaceRequest.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 configuration compileSdk. (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é vers viewfinder-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.