Kamerasucher

  
Eigenständiger zusammensetzbarer und ansichtsbasierter Sucher für die Kamera

In dieser Tabelle sind alle Artefakte in der Gruppe androidx.camera-viewfinder aufgeführt.

Artefakt Stabile Release Releasekandidat Beta-Release Alpha-Release
viewfinder-compose 1.6.1 - - 1.7.0-alpha01
viewfinder-core 1.6.1 - - 1.7.0-alpha01
viewfinder-view 1.6.1 - - 1.7.0-alpha01
Diese Bibliothek wurde zuletzt am 06. Mai 2026 aktualisiert.

Abhängigkeiten deklarieren

Wenn Sie eine Abhängigkeit von camera-viewfinder hinzufügen möchten, müssen Sie Ihrem Projekt das Google Maven-Repository hinzufügen. Weitere Informationen finden Sie im Maven-Repository von Google.

Fügen Sie der Datei build.gradle für Ihre App oder Ihr Modul die Abhängigkeiten für die benötigten Artefakte hinzu:

Cool

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

}

Kotlin

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


}

Weitere Informationen zu Abhängigkeiten finden Sie unter Build-Abhängigkeiten hinzufügen.

Feedback

Ihr Feedback hilft uns, Jetpack zu verbessern. Wenn Sie neue Probleme entdecken oder Ideen zur Verbesserung dieser Bibliothek haben, lassen Sie es uns wissen. Bevor Sie ein neues Problem erstellen, sollten Sie sich jedoch die bereits gemeldeten Probleme in dieser Bibliothek ansehen. Wenn Sie sich einer Problemmeldung anschließen möchten, klicken Sie auf den Button mit dem Stern.

Neues Problem melden

Weitere Informationen finden Sie in der Dokumentation zum Issue Tracker.

Version 1.7

Version 1.7.0-alpha01

11. März 2026

androidx.camera.viewfinder:viewfinder-compose:1.7.0-alpha01, androidx.camera.viewfinder:viewfinder-core:1.7.0-alpha01 und androidx.camera.viewfinder:viewfinder-view:1.7.0-alpha01 wurden veröffentlicht. Version 1.7.0-alpha01 enthält diese Commits.

Version 1.6

Version 1.6.1

06. Mai 2026

androidx.camera.viewfinder:viewfinder-compose:1.6.1, androidx.camera.viewfinder:viewfinder-core:1.6.1 und androidx.camera.viewfinder:viewfinder-view:1.6.1 wurden veröffentlicht. Version 1.6.1 enthält diese Commits.

Version 1.6.0

25. März 2026

androidx.camera.viewfinder:viewfinder-compose:1.6.0, androidx.camera.viewfinder:viewfinder-core:1.6.0 und androidx.camera.viewfinder:viewfinder-view:1.6.0 wurden veröffentlicht. Version 1.6.0 enthält diese Commits.

Wichtige Änderungen seit Version 1.5.0:

  • Der Standard-Sucher ImplementationMode wurde über die neue öffentliche API ViewfinderDefaults.implementationMode verfügbar gemacht. Diese wird jetzt als Standardeinstellung für ViewfinderView und die zusammensetzbare Funktion Viewfinder verwendet. (Ic3f52)

Version 1.6.0-rc01

25. Februar 2026

androidx.camera.viewfinder:viewfinder-compose:1.6.0-rc01, androidx.camera.viewfinder:viewfinder-core:1.6.0-rc01 und androidx.camera.viewfinder:viewfinder-view:1.6.0-rc01 wurden veröffentlicht. Version 1.6.0-rc01 enthält diese Commits.

Version 1.6.0-beta02

11. Februar 2026

androidx.camera.viewfinder:viewfinder-compose:1.6.0-beta02, androidx.camera.viewfinder:viewfinder-core:1.6.0-beta02 und androidx.camera.viewfinder:viewfinder-view:1.6.0-beta02 wurden veröffentlicht. Version 1.6.0-beta02 enthält diese Commits.

Version 1.6.0-beta01

28. Januar 2026

androidx.camera.viewfinder:viewfinder-compose:1.6.0-beta01, androidx.camera.viewfinder:viewfinder-core:1.6.0-beta01 und androidx.camera.viewfinder:viewfinder-view:1.6.0-beta01 wurden veröffentlicht. Version 1.6.0-beta01 enthält diese Commits.

Version 1.6.0-alpha02

17. Dezember 2025

androidx.camera.viewfinder:viewfinder-compose:1.6.0-alpha02, androidx.camera.viewfinder:viewfinder-core:1.6.0-alpha02 und androidx.camera.viewfinder:viewfinder-view:1.6.0-alpha02 wurden veröffentlicht. Version 1.6.0-alpha02 enthält diese Commits.

Version 1.6.0-alpha01

22. Oktober 2025

androidx.camera.viewfinder:viewfinder-compose:1.6.0-alpha01, androidx.camera.viewfinder:viewfinder-core:1.6.0-alpha01 und androidx.camera.viewfinder:viewfinder-view:1.6.0-alpha01 wurden veröffentlicht. Version 1.6.0-alpha01 enthält diese Commits.

API-Änderungen

  • Der Standard-Sucher ImplementationMode wurde über die neue öffentliche API ViewfinderDefaults.implementationMode verfügbar gemacht. Diese wird jetzt als Standardeinstellung für ViewfinderView und die zusammensetzbare Funktion Viewfinder verwendet. (Ic3f52)

Version 1.5

Version 1.5.3

28. Januar 2026

androidx.camera.viewfinder:viewfinder-compose:1.5.3, androidx.camera.viewfinder:viewfinder-core:1.5.3 und androidx.camera.viewfinder:viewfinder-view:1.5.3 wurden veröffentlicht. Version 1.5.3 enthält diese Commits.

Version 1.5.2

4. Dezember 2025

androidx.camera.viewfinder:viewfinder-compose:1.5.2, androidx.camera.viewfinder:viewfinder-core:1.5.2 und androidx.camera.viewfinder:viewfinder-view:1.5.2 wurden veröffentlicht. Version 1.5.2 enthält diese Commits.

Version 1.5.1

8. Oktober 2025

androidx.camera.viewfinder:viewfinder-compose:1.5.1, androidx.camera.viewfinder:viewfinder-core:1.5.1 und androidx.camera.viewfinder:viewfinder-view:1.5.1 wurden veröffentlicht. Version 1.5.1 enthält diese Commits.

Version 1.5.0

10. September 2025

androidx.camera.viewfinder:viewfinder-compose:1.5.0, androidx.camera.viewfinder:viewfinder-core:1.5.0 und androidx.camera.viewfinder:viewfinder-view:1.5.0 wurden veröffentlicht. Version 1.5.0 enthält diese Commits.

Wichtige Änderungen seit Version 1.4.0:

Dies ist die erste stabile Version der Camera Viewfinder-Bibliothek, die robuste, lebenszyklusbezogene und benutzerfreundliche ansichts- und zusammensetzungsbasierte APIs bietet. Diese Komponenten dienen als Kamerasucher und können direkt in Camera2 eingebunden werden.

Mit dieser Version wird auch die Grundlage für das neue Artefakt androidx.camera:camera-compose geschaffen, das CameraXViewfinder einführt. Dabei handelt es sich um einen zusammensetzungsidiomatischen Sucher, der nahtlos in SurfaceRequests von CameraX eingebunden wird, ähnlich wie PreviewView für ansichtsbasierte Layouts funktioniert. Einige der wichtigsten Änderungen:

  • Artefaktverschiebung:Zur Verbesserung der Modularität wurden die Sucher-Artefakte in eine eigene Bibliothek verschoben. Entwickler, die zuvor androidx.camera:camera-viewfinder*-Abhängigkeiten verwendet haben, sollten zu androidx.camera.viewfinder:viewfinder-* migrieren.
  • API-Stabilisierung und -Optimierung:Die API-Oberfläche wurde für diese stabile Version optimiert. Dazu gehört das Umbenennen von CameraViewfinder in ViewfinderView, um die Vielseitigkeit besser widerzuspiegeln, das Neuorganisieren von Paketen für mehr Klarheit und das Festlegen von ViewfinderSurfaceRequest als unveränderlicher Datentyp für eine besser vorhersagbare Statusverwaltung.
  • Updates der Compose API:Die Compose API Viewfinder unterstützt jetzt ContentScale und Alignment für eine detaillierte Steuerung der Darstellung des Kamerastreams im Container. Das Verhalten entspricht dem der Standard-Composable-Funktion androidx.compose.foundation.Image.
  • Lebenszyklusverwaltung der Oberfläche:ViewfinderSurfaceSession bleibt jetzt bei Konfigurationsänderungen und Lebenszyklusereignissen in API 29 und höher aktiv. Diese Änderung soll die Anzahl der verworfenen Frames reduzieren und die Nutzerfreundlichkeit verbessern.
  • Standardeinstellungen für den Implementierungsmodus:Für Viewfinder ist jetzt standardmäßig ein intelligenter ImplementationMode festgelegt, der automatisch die beste zugrunde liegende Implementierung auswählt. Dabei wird SurfaceView (EXTERNAL-Modus) mit hoher Leistung priorisiert und bei älteren API-Levels oder Geräten mit bekannten Kompatibilitätsproblemen auf TextureView (EMBEDDED-Modus) zurückgegriffen. Dieses Verhalten kann weiterhin überschrieben werden, um Entwicklern die volle Kontrolle zu geben.

Diverse Fehlerkorrekturen

  • Die zusammensetzbare Funktion Viewfinder funktioniert jetzt korrekt in Pager von Compose und mit movableContentOf(). So wird sichergestellt, dass die Oberfläche in komplexen UI-Szenarien richtig zurückgesetzt und verwaltet wird. (I0d9be, I79432)
  • Ein Problem auf Android 10 und 11 wurde behoben, bei dem der SurfaceView-basierte Viewfinder bei Anwendung von Transformationen verzerrt dargestellt werden konnte. (Icc77c)

Version 1.5.0-rc01

13. August 2025

androidx.camera.viewfinder:viewfinder-compose:1.5.0-rc01, androidx.camera.viewfinder:viewfinder-core:1.5.0-rc01 und androidx.camera.viewfinder:viewfinder-view:1.5.0-rc01 wurden veröffentlicht. Version 1.5.0-rc01 enthält diese Commits.

Diverse Fehlerkorrekturen

Version 1.5.0-beta03

16. Juli 2025

androidx.camera.viewfinder:viewfinder-compose:1.5.0-beta03, androidx.camera.viewfinder:viewfinder-core:1.5.0-beta03 und androidx.camera.viewfinder:viewfinder-view:1.5.0-beta03 wurden veröffentlicht. Version 1.5.0-beta03 enthält diese Commits.

Diverse Fehlerkorrekturen

  • Der Standardwert für ImplementationMode für Viewfinder (sowohl zusammensetzungs- als auch ansichtsbasierte) wählt jetzt intelligent zwischen EXTERNAL (für Leistung) und EMBEDDED (für Kompatibilität auf älteren APIs/fehlerhaften Geräten) aus. Dieses Verhalten kann weiterhin durch explizite Einstellungen in ViewfinderSurfaceRequest oder XML-Attributen (in der ansichtsbasierten API) überschrieben werden. (Iecd3a)
  • Die Verwaltung der Oberflächensitzung wurde verbessert, indem die ViewfinderSurfaceSession bei Verwendung von TextureView oder SurfaceView in API 29 und höher über den Lebenszyklus der Oberflächenerstellung und ‑zerstörung hinweg aktiv bleibt. (I112d9)
  • Der Viewfinder sorgt jetzt dafür, dass Oberflächen zum richtigen Zeitpunkt freigegeben werden, nur wenn sie nicht mehr von der Sitzung verwendet werden. Sie werden also nicht immer freigegeben, wenn die zusammensetzbare Funktion verworfen wird. Für EXTERNAL (SurfaceView) ist dieses Verhalten derzeit nur in API 29 und höher verfügbar. Für EMBEDDED (TextureView) ist es auf allen API-Levels vorhanden. (I9a03f)
  • Der Viewfinder verarbeitet jetzt den Oberflächenaustausch in Szenarien wie z. B. wenn ein EXTERNAL-Sucher auf API-Level 28 oder niedriger außerhalb des Bildschirms verschoben wird oder wenn ein Viewfinder (mit einem beliebigen ImplementationMode) Teil von moveableContentOf() ist. (I79432)
  • Die zusammensetzbare Funktion Viewfinder funktioniert jetzt korrekt mit Pager von Compose. Diese Änderung sorgt dafür, dass die zusammensetzbare Funktion durch Implementieren des onReset-Callbacks von AndroidView zurückgesetzt werden kann. Dabei werden sowohl EMBEDDED- als auch EXTERNAL-Implementierungen unterstützt. (I0d9be)
  • Ein Problem auf Android 10/11 wurde behoben, bei dem der EXTERNAL-Viewfinder aufgrund von Transformationsvorgängen (z. B. Skalieren oder Verschieben), die zu früh angewendet wurden, verzerrt oder falsch dargestellt werden konnte. Das System wartet jetzt, bis die Oberfläche erstellt wurde, bevor diese Transformationen in der Layoutphase angewendet werden. So wird eine korrekte Ausgabe gewährleistet. (Icc77c)

Version 1.5.0-beta02

4. Juni 2025

androidx.camera.viewfinder:viewfinder-compose:1.5.0-beta02, androidx.camera.viewfinder:viewfinder-core:1.5.0-beta02 und androidx.camera.viewfinder:viewfinder-view:1.5.0-beta02 wurden veröffentlicht. Version 1.5.0-beta02 enthält diese Commits.

Version 1.5.0-beta01

7. Mai 2025

androidx.camera.viewfinder:viewfinder-compose:1.5.0-beta01, androidx.camera.viewfinder:viewfinder-core:1.5.0-beta01 und androidx.camera.viewfinder:viewfinder-view:1.5.0-beta01 wurden veröffentlicht. Version 1.5.0-beta01 enthält diese Commits.

  • Dies ist die erste offizielle Betaversion der ansichts- und zusammensetzungsbasierten Sucher, die flexibel genug sind, um mit Camera2 verwendet zu werden. Wenn Sie eine Ansicht oder eine zusammensetzbare Funktion für die Verwendung mit CameraX suchen, sehen Sie sich PreviewView und CameraXViewfinder an.

Neue Funktionen

  • ContentScale und Alignment können jetzt im zusammensetzungsbasierten Sucher verwendet werden, um die angezeigte Oberfläche im Container zu skalieren und zu platzieren, ähnlich wie bei androidx.compose.foundation.Image. (Ibcea3)

API-Änderungen

  • TransformationInfo hat jetzt Standardwerte für alle Argumente. So können Sucher ohne TransformationInfo erstellt werden. In diesem Fall wird standardmäßig eine Quellrotation von 0, keine Quellspiegelung und kein Zuschneidebereich verwendet. (I2b1b2)
  • Der zusammensetzungsbasierte Sucher verwendet jetzt eine nachgestellte Lambda-Funktion, um eine Oberflächensitzung zu empfangen, ähnlich wie AndroidExternalSurface. Die bereitgestellte Lambda-Funktion verwendet ViewfinderInitScope als Empfänger, wodurch ein Callback installiert werden kann, um neue Oberflächensitzungen zu empfangen. Diese Oberflächensitzungen geben automatisch Ressourcen frei, die vom Sucher gehalten werden, wenn sie außerhalb des Gültigkeitsbereichs liegen. (Ib2b0d)
  • ViewfinderSurfaceRequest.Builder.populateFromCharacteristics wurde entfernt und durch eine entsprechende Reihe statischer APIs ersetzt, mit denen TransformationInfo generiert werden kann. Diese erzeugt dieselbe Transformation wie populateFromCharacteristics. Diese statischen Methoden werden der Klasse Camera2TransformationInfo hinzugefügt. (Idc6af)
  • ViewfinderSurfaceRequest enthält keine asynchronen APIs mehr zum Abrufen der Oberfläche. Es ist jetzt ein unveränderlicher Datentyp. APIs zum Abrufen der Oberfläche wurden jetzt in den Sucher verschoben. (I30127)
  • CameraViewfinder wurde in ViewfinderView umbenannt, damit der Name mit dem Namen der zusammensetzbaren Funktion „Viewfinder“ übereinstimmt und um anzugeben, dass sie mit mehr als nur Kamerabildquellen verwendet werden kann. (Id9e6b)
  • Klassen aus viewfinder-view wurden aus dem Paket androidx.camera.viewfinder in das Unterpaket androidx.camera.viewfinder.view verschoben. (I6cb44)
  • Dem ansichtsbasierten Sucher wurden neue APIs hinzugefügt, mit denen die Quellrotation, die Spiegelung und das Zuschneiderechteck festgelegt werden können. Diese TransformationInfo-Klasse ist dieselbe Klasse, die vom zusammensetzungsbasierten Sucher verwendet wird. (I907c3)
  • Der ansichtsbasierte Sucher verwendet jetzt neue ViewfinderSurfaceRequest-APIs, die die Oberflächenantwort nicht mehr intern verarbeiten. Anstelle von ListenableFuture<Surface> geben die requestSurfaceSession() APIs jetzt ListenableFuture<ViewfinderSurfaceSession> zurück, die eine AutoCloseable Klasse zurückgibt. Wenn diese geschlossen wird, verhält sie sich genauso wie der Aufruf der alten API von ViewfinderSurfaceRequest.markSurfaceSafeToRelease(). So werden die Verantwortlichkeiten zwischen der Oberflächenanfrage und der Oberflächenantwort klarer getrennt. (I19041)

Version 1.4

Version 1.4.0-alpha13

26. Februar 2025

androidx.camera.viewfinder:viewfinder-compose:1.4.0-alpha13, androidx.camera.viewfinder:viewfinder-core:1.4.0-alpha13 und androidx.camera.viewfinder:viewfinder-view:1.4.0-alpha13 wurden veröffentlicht. Version 1.4.0-alpha13 enthält diese Commits.

Version 1.4.0-alpha12

15. Januar 2025

androidx.camera.viewfinder:viewfinder-compose:1.4.0-alpha12, androidx.camera.viewfinder:viewfinder-core:1.4.0-alpha12 und androidx.camera.viewfinder:viewfinder-view:1.4.0-alpha12 wurden veröffentlicht. Version 1.4.0-alpha12 enthält diese Commits.

Neue Funktionen

  • compileSdk wurde auf 35 aktualisiert, um die Android 15-bezogene API zu verwenden. Apps, die CameraX-Bibliotheken verwenden, müssen auch die Konfigurationseinstellung compileSdk aktualisieren. (Ic80cd)
  • In dieser Bibliothek werden jetzt JSpecify-Annotationen für Nullsicherheit verwendet, die typbezogen sind. Kotlin-Entwickler sollten das folgende Compiler-Argument verwenden, um die korrekte Verwendung zu erzwingen: -Xjspecify-annotations=strict (dies ist die Standardeinstellung ab Version 2.1.0 des Kotlin-Compilers). (I7bcd7, b/326456246)

Version 1.4.0-alpha11

11. Dezember 2024

androidx.camera.viewfinder:viewfinder-compose:1.4.0-alpha11, androidx.camera.viewfinder:viewfinder-core:1.4.0-alpha11 und androidx.camera.viewfinder:viewfinder-view:1.4.0-alpha11 wurden veröffentlicht. Version 1.4.0-alpha11 enthält diese Commits.

API-Änderungen

  • Die Klassen von viewfinder-core wurden in Pakete verschoben, die mit der Bibliothek übereinstimmen, zu der sie gehören. (I431c6)
  • CameraViewfinder.ScaleType wurde in viewfinder-core verschoben, damit es mit Compose wiederverwendet werden kann (I87ef1).
  • Die verworfenen CameraViewfinder-Klassen wurden entfernt. Verwenden Sie die neuen APIs, die eine entsprechende Funktionalität bieten. (I6e59a)

Version 1.4.0-alpha10

30. Oktober 2024

androidx.camera.viewfinder:viewfinder-compose:1.4.0-alpha10, androidx.camera.viewfinder:viewfinder-core:1.4.0-alpha10 und androidx.camera.viewfinder:viewfinder-view:1.4.0-alpha10 wurden veröffentlicht. Version 1.4.0-alpha10 enthält diese Commits.

Version 1.4.0-alpha09

2. Oktober 2024

androidx.camera.viewfinder:viewfinder-compose:1.4.0-alpha09, androidx.camera.viewfinder:viewfinder-core:1.4.0-alpha09 und androidx.camera.viewfinder:viewfinder-view:1.4.0-alpha09 wurden veröffentlicht. Version 1.4.0-alpha09 enthält diese Commits.

Version 1.4.0-alpha08

4. September 2024

androidx.camera.viewfinder:viewfinder-compose:1.4.0-alpha08, androidx.camera.viewfinder:viewfinder-core:1.4.0-alpha08 und androidx.camera.viewfinder:viewfinder-view:1.4.0-alpha08 wurden veröffentlicht. Version 1.4.0-alpha08 enthält diese Commits.

Neue Funktionen

Mit dem Update auf 1.4.0-alpha08 wurde das CameraX Viewfinder-Artefakt in eine eigene Bibliothek verschoben. Diese Änderung ist erforderlich, um die Modularität und Wartbarkeit der CameraX-Bibliothek zu verbessern.

Wenn Sie zuvor von androidx.camera:camera-viewfinder, androidx.camera:camera-viewfinder-compose oder androidx.camera:camera-viewfinder-core abhängig waren, müssen Sie Ihre Abhängigkeiten zu den folgenden migrieren:

  • 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

Für diese Migration sind keine Codeänderungen erforderlich. Die alten Maven-Koordinaten für den Sucher werden nicht mehr aktualisiert.

Wenn Sie Compose mit CameraX verwenden, ist außerdem eine neue Compose-First-Bibliothek in der Alphaversion verfügbar: androidx.camera:camera-compose. Sie bietet die zusammensetzbare Funktion CameraXViewfinder, einen zusammensetzungsidiomatischen Sucher, der SurfaceRequest von CameraX an Compose anpasst, ähnlich wie PreviewView für Ansichten funktioniert.