Kamerasucher
In dieser Tabelle sind alle Artefakte in der Gruppe androidx.camera-viewfinder
aufgeführt.
Artefakt | Stabile Version | Releasekandidat | Beta-Ausgabe | Alpharelease |
---|---|---|---|---|
viewfinder-compose | - | - | 1.5.0-beta03 | 1.4.0-alpha13 |
viewfinder-core | - | - | 1.5.0-beta03 | 1.4.0-alpha13 |
Sucheransicht | - | - | 1.5.0-beta03 | 1.4.0-alpha13 |
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.5.0-beta03" implementation "androidx.camera.viewfinder:viewfinder-compose:1.5.0-beta03" implementation "androidx.camera.viewfinder:viewfinder-core:1.5.0-beta03" }
Kotlin
dependencies { // Use to implement camera viewfinders implementation("androidx.camera.viewfinder:viewfinder-view:1.5.0-beta03") implementation("androidx.camera.viewfinder:viewfinder-core:1.5.0-beta03") implementation("androidx.camera.viewfinder:viewfinder-compose:1.5.0-beta03") }
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 abstimmen, indem Sie auf die Schaltfläche mit dem Stern klicken.
Weitere Informationen finden Sie in der Dokumentation zur Problemverfolgung.
Version 1.5
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
ImplementationMode
fü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 inViewfinderSurfaceRequest
oder 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
Viewfinder
sorgt 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 dieses Verhalten auf allen API-Ebenen vorhanden. (I9a03f) - Die
Viewfinder
verarbeitet jetzt den Oberflächenersatz in Szenarien wie dem Verschieben einesEXTERNAL
-Suchers auf API-Level 28 oder niedriger vom Bildschirm oder wenn eineViewfinder
(mit einer beliebigenImplementationMode
) Teil vonmoveableContentOf()
ist. (I79432) - Die zusammensetzbare Funktion
Viewfinder
funktioniert jetzt korrekt mitPager
von Compose. Durch diese Änderung wird sichergestellt, dass das Composable durch die Implementierung desonReset
-Rückrufs vonAndroidView
erfolgreich zurückgesetzt werden kann. Dabei werden sowohlEMBEDDED
- als auchEXTERNAL
-Implementierungen unterstützt. (I0d9be) - Es wurde ein Problem unter Android 10/11 behoben, bei dem das
EXTERNAL
Viewfinder
aufgrund 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
PreviewView
undCameraXViewfinder
an.
Neue Funktionen
ContentScale
undAlignment
kö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
TransformationInfo
hat jetzt Standardwerte für alle Argumente. So können Viewfinder ohneTransformationInfo
erstellt werden. In diesem Fall wird standardmäßig eine Quellrotation von 0, keine Quellspiegelung und kein Zuschneidebereich verwendet. (I2b1b2)- Composable Viewfinder verwendet jetzt ein nachgestelltes Lambda, um eine Surface-Sitzung zu empfangen, ähnlich wie
AndroidExternalSurface
. Die bereitgestellte Lambda-Funktion verwendetViewfinderInitScope
als Empfänger, sodass ein Callback installiert werden kann, um neue Surface-Sitzungen zu empfangen. Bei diesen Sitzungen werden Ressourcen, die vom Viewfinder gehalten werden, automatisch freigegeben, wenn sie nicht mehr benötigt werden. (Ib2b0d) ViewfinderSurfaceRequest.Builder.populateFromCharacteristics
wurde entfernt und durch eine entsprechende Gruppe statischer APIs ersetzt, mit denenTransformationInfo
generiert werden kann. Dadurch wird dieselbe Transformation wie beipopulateFromCharacteristics
erzielt. Diese statischen Methoden werden der KlasseCamera2TransformationInfo
hinzugefügt. (Idc6af)ViewfinderSurfaceRequest
enthä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)CameraViewfinder
wurde inViewfinderView
umbenannt, 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-view
wurden aus dem Paketandroidx.camera.viewfinder
in das Unterpaketandroidx.camera.viewfinder.view
verschoben. (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
compileSdk
wurde auf 35 aktualisiert, um die API für Android 15 zu verwenden. Apps, die CameraX-Bibliotheken verwenden, müssen auch ihrecompileSdk
-Konfigurationseinstellung aktualisieren. (Ic80cd)- In dieser Bibliothek werden jetzt JSpecify-Nullable-Annotationen 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.ScaleType
wurde inviewfinder-core
verschoben, 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-view
androidx.camera:camera-viewfinder-compose
->androidx.camera.viewfinder:viewfinder-compose
androidx.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.