Kamerasucher
In dieser Tabelle sind alle Artefakte in der Gruppe androidx.camera-viewfinder aufgeführt.
| Artefakt | Stabile Version | Releasekandidat | Betarelease | Alpha-Release |
|---|---|---|---|---|
| viewfinder-compose | 1.5.1 | - | - | 1.6.0-alpha01 |
| viewfinder-core | 1.5.1 | - | - | 1.6.0-alpha01 |
| Sucheransicht | 1.5.1 | - | - | 1.6.0-alpha01 |
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.6.0-alpha01" implementation "androidx.camera.viewfinder:viewfinder-compose:1.6.0-alpha01" implementation "androidx.camera.viewfinder:viewfinder-core:1.6.0-alpha01" }
Kotlin
dependencies { // Use to implement camera viewfinders implementation("androidx.camera.viewfinder:viewfinder-view:1.6.0-alpha01") implementation("androidx.camera.viewfinder:viewfinder-core:1.6.0-alpha01") implementation("androidx.camera.viewfinder:viewfinder-compose:1.6.0-alpha01") }
Weitere Informationen zu Abhängigkeiten finden Sie unter Build-Abhängigkeiten hinzufügen.
Feedback
Ihr Feedback hilft uns, Jetpack zu verbessern. Lassen Sie es uns wissen, wenn Sie neue Probleme entdecken oder Ideen zur Verbesserung dieser Bibliothek haben. Sehen Sie sich die vorhandenen Probleme in dieser Bibliothek an, bevor Sie ein neues erstellen. Sie können für ein vorhandenes Problem stimmen, indem Sie auf die Schaltfläche mit dem Stern klicken.
Weitere Informationen finden Sie in der Dokumentation zum Issue Tracker.
Version 1.6
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 sind veröffentlicht. Version 1.6.0-alpha01 enthält diese Commits.
API-Änderungen
- Der Standard-Sucher
ImplementationModewurde über die neue öffentliche APIViewfinderDefaults.implementationModeverfügbar gemacht. Dies wird jetzt als Standard fürViewfinderViewund die zusammensetzbare FunktionViewfinderverwendet. (Ic3f52)
Version 1.5
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 sind 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 sind 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, lebenszyklusbewusste und benutzerfreundliche View- und Compose-basierte APIs bietet. Diese Komponenten sind als Kamera-Sucher konzipiert und können direkt in Camera2 eingebunden werden.
Mit diesem Release wird auch die Grundlage für das neue androidx.camera:camera-compose-Artefakt geschaffen, das CameraXViewfinder einführt, einen Compose-idiomatischen Sucher, der sich nahtlos in CameraX-SurfaceRequests einfügt, ähnlich wie PreviewView für View-basierte Layouts funktioniert. Einige der wichtigsten Änderungen:
- Artifact Relocation:Zur Verbesserung der Modularität wurden die Viewfinder-Artefakte in eine eigene Bibliothek verschoben. Entwickler, die bisher
androidx.camera:camera-viewfinder*-Abhängigkeiten verwendet haben, sollten zuandroidx.camera.viewfinder:viewfinder-*migrieren. - API-Stabilisierung und ‑Optimierungen:Die API-Oberfläche wurde für diese stabile Version optimiert. Dazu gehört das Umbenennen von
CameraViewfinderinViewfinderView, um die Vielseitigkeit besser widerzuspiegeln, das Reorganisieren von Paketen für mehr Klarheit und das Festlegen vonViewfinderSurfaceRequestals unveränderlicher Datentyp für eine besser vorhersagbare Statusverwaltung. - Compose API-Updates:Die Compose
ViewfinderAPI unterstützt jetztContentScaleundAlignmentfür eine detaillierte Steuerung der Darstellung des Kamerastreams in seinem Container. Das Verhalten entspricht dem des Standard-Composableandroidx.compose.foundation.Image. - Surface Lifecycle Management:
ViewfinderSurfaceSessionbleibt bei Konfigurationsänderungen und Lebenszyklusereignissen auf API 29 und höher aktiv. Diese Änderung soll die Anzahl der ausgelassenen Frames verringern und für eine flüssigere Nutzererfahrung sorgen. - Standardeinstellungen für den Implementierungsmodus:Für
Viewfinderwird jetzt standardmäßig ein intelligenterImplementationModeverwendet, der automatisch die beste zugrunde liegende Implementierung auswählt. Dabei wird die leistungsstarkeSurfaceView(EXTERNAL-Modus) priorisiert und bei älteren API-Ebenen oder Geräten mit bekannten Kompatibilitätsproblemen wird auf die kompatiblereTextureView(EMBEDDED-Modus) zurückgegriffen. Dieses Verhalten kann jedoch überschrieben werden, um Entwicklern die volle Kontrolle zu geben.
Fehlerkorrekturen
- Die zusammensetzbare Funktion
Viewfinderfunktioniert jetzt korrekt innerhalb vonPagerund mitmovableContentOf()in Compose. So wird dafür gesorgt, 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 die
SurfaceView-basierteViewfinderbei Anwendung von Transformationen gestreckt 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 sind veröffentlicht. Version 1.5.0-rc01 enthält diese Commits.
Fehlerkorrekturen
- Verschieben des Standard-
minSdkvon API 21 zu API 23 (Ibdfca, b/380448311, b/435705964, b/435705223)
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 sind veröffentlicht. Version 1.5.0-beta03 enthält diese Commits.
Fehlerkorrekturen
- Die Standardeinstellung
ImplementationModefürViewfinder(sowohl Compose- als auch View-basiert) wählt jetzt intelligent zwischenEXTERNAL(für die Leistung) undEMBEDDED(für die Kompatibilität auf älteren APIs/Geräten mit Problemen) aus. Dieses Verhalten kann weiterhin durch explizite Einstellungen inViewfinderSurfaceRequestoder XML-Attributen (in der View-basierten API) überschrieben werden. (Iecd3a) - Verbesserte Verwaltung von Surface-Sitzungen, indem
ViewfinderSurfaceSessionüber den gesamten Lebenszyklus von Surface-Erstellung und -Zerstörung hinweg aktiv gehalten werden kann, wenn TextureView oder SurfaceView unter API 29+ verwendet wird. (I112d9) - Der
Viewfindersorgt jetzt dafür, dass Oberflächen zum richtigen Zeitpunkt freigegeben werden, nämlich nur dann, wenn sie nicht mehr von der Sitzung verwendet werden, und nicht immer, wenn das Composable verworfen wird. FürEXTERNAL(SurfaceView) ist dieses Verhalten derzeit nur für API 29 und höher verfügbar. FürEMBEDDED(TextureView) ist es für alle API-Levels verfügbar. (I9a03f) - Die
Viewfinderverarbeitet jetzt den Oberflächenersatz in Szenarien wie dem Verschieben einesEXTERNAL-Suchers auf API-Level 28 oder niedriger vom Bildschirm oder wenn eineViewfinder(mit einem beliebigenImplementationMode) Teil vonmoveableContentOf()ist. (I79432) - Die zusammensetzbare Funktion
Viewfinderfunktioniert jetzt korrekt mitPagervon Compose. Durch diese Änderung wird sichergestellt, dass das Composable durch die Implementierung desonReset-Callbacks vonAndroidViewerfolgreich zurückgesetzt werden kann. Dies wird sowohl fürEMBEDDED- als auch fürEXTERNAL-Implementierungen unterstützt. (I0d9be) - Ein Problem unter Android 10/11 wurde behoben, bei dem das
EXTERNALViewfinderaufgrund von Transformationsvorgängen (z. B. Skalieren oder Übersetzen), die zu früh angewendet wurden, gestreckt oder falsch dargestellt werden konnte. Das System wartet nun, 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 sind 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 sind veröffentlicht. Version 1.5.0-beta01 enthält diese Commits.
- Dies ist die erste offizielle Betaversion der ansichts- und Compose-basierten Sucher, die flexibel genug sind, um mit Camera2 verwendet zu werden. Wenn Sie eine View oder ein Composable für die Verwendung mit CameraX suchen, sehen Sie sich
PreviewViewundCameraXViewfinderan.
Neue Funktionen
ContentScaleundAlignmentkönnen jetzt im Compose-basierten Sucher verwendet werden, um die angezeigte Oberfläche innerhalb des Containers zu skalieren und zu platzieren, ähnlich wie beiandroidx.compose.foundation.Image. (Ibcea3)
API-Änderungen
TransformationInfohat jetzt Standardwerte für alle Argumente. So können Viewfinder ohneTransformationInfoerstellt werden. In diesem Fall wird standardmäßig eine Quellrotation von 0, keine Quellspiegelung und kein Zuschneiderechteck verwendet. (I2b1b2)- Composable Viewfinder verwendet jetzt ein nachgestelltes Lambda, um eine Surface-Sitzung zu empfangen, ähnlich wie
AndroidExternalSurface. Die bereitgestellte Lambda-Funktion verwendetViewfinderInitScopeals Empfänger, sodass ein Callback installiert werden kann, um neue Surface-Sitzungen zu empfangen. Bei diesen Sitzungen werden automatisch Ressourcen freigegeben, die vom Viewfinder gehalten werden, wenn sie nicht mehr benötigt werden. (Ib2b0d) ViewfinderSurfaceRequest.Builder.populateFromCharacteristicswurde entfernt und durch eine entsprechende Gruppe statischer APIs ersetzt, mit denenTransformationInfogeneriert werden kann. Dadurch wird dieselbe Transformation wie beipopulateFromCharacteristicserzielt. Diese statischen Methoden werden der KlasseCamera2TransformationInfohinzugefügt. (Idc6af)ViewfinderSurfaceRequestenthält keine asynchronen APIs mehr zum Abrufen der Oberfläche. Er ist jetzt ein unveränderlicher Datentyp. APIs zum Abrufen der Oberfläche wurden in den Sucher verschoben. (I30127)CameraViewfinderwurde inViewfinderViewumbenannt, damit die Benennung mit der Benennung des Viewfinder-Composable übereinstimmt und darauf hingewiesen wird, dass es nicht nur mit Kamerabildquellen verwendet werden kann. (Id9e6b)- Klassen aus
viewfinder-viewwurden aus dem Paketandroidx.camera.viewfinderin das Unterpaketandroidx.camera.viewfinder.viewverschoben. (I6cb44) - Dem Viewfinder auf Grundlage von Ansichten wurden neue APIs hinzugefügt, mit denen die Quellrotation, das Spiegeln und das Zuschneiderechteck festgelegt werden können. Diese
TransformationInfo-Klasse ist dieselbe Klasse, die vom Compose-basierten Viewfinder verwendet wird. (I907c3) - Der ansichtbasierte Viewfinder verwendet jetzt neue
ViewfinderSurfaceRequest-APIs, die die Surface-Antwort nicht mehr intern verarbeiten. AnstattListenableFuture<Surface>zurückzugeben, geben dierequestSurfaceSession()-APIs jetztListenableFuture<ViewfinderSurfaceSession>zurück, was eineAutoCloseable-Klasse zurückgibt, die sich beim Schließen genauso verhält wie beim Aufrufen der alten API vonViewfinderSurfaceRequest.markSurfaceSafeToRelease(). Dadurch 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 sind 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 sind veröffentlicht. Version 1.4.0-alpha12 enthält diese Commits.
Neue Funktionen
compileSdkwurde auf 35 aktualisiert, um APIs für Android 15 zu verwenden. Apps, die CameraX-Bibliotheken verwenden, müssen auch ihrecompileSdk-Konfigurationseinstellung 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 sind veröffentlicht. Version 1.4.0-alpha11 enthält diese Commits.
API-Änderungen
viewfinder-core-Klassen wurden in Pakete verschoben, die mit der Bibliothek übereinstimmen, zu der sie gehören. (I431c6)CameraViewfinder.ScaleTypewurde inviewfinder-coreverschoben, damit es mit Compose wiederverwendet werden kann (I87ef1).- Die eingestellten
CameraViewfinder-Klassen werden 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 sind 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 sind 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 sind 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 Bibliotheksgruppe verschoben. Diese Änderung ist erforderlich, um die Modularität und Wartungsfreundlichkeit der CameraX-Bibliothek zu verbessern.
Wenn Sie zuvor androidx.camera:camera-viewfinder, androidx.camera:camera-viewfinder-compose oder androidx.camera:camera-viewfinder-core verwendet haben, müssen Sie Ihre Abhängigkeiten auf Folgendes umstellen:
androidx.camera:camera-viewfinder->androidx.camera.viewfinder:viewfinder-viewandroidx.camera:camera-viewfinder-compose->androidx.camera.viewfinder:viewfinder-composeandroidx.camera:camera-viewfinder-core->androidx.camera.viewfinder:viewfinder-core
Für diese Umstellung sind keine Codeänderungen erforderlich. Die alten Viewfinder-Maven-Koordinaten werden nicht mehr aktualisiert.
Wenn Sie Compose mit CameraX verwenden, ist jetzt außerdem eine neue Compose-first-Bibliothek in der Alphaversion verfügbar: androidx.camera:camera-compose. Dadurch wird das zusammensetzbare CameraXViewfinder bereitgestellt, ein Compose-idiomatischer Viewfinder, der SurfaceRequest von CameraX an Compose anpasst, ähnlich wie PreviewView für Ansichten funktioniert.