mirino della fotocamera
La seguente tabella elenca tutti gli elementi nel gruppo androidx.camera-viewfinder.
| Elemento | Release stabile | Candidato per la release | Release beta | Release alpha |
|---|---|---|---|---|
| viewfinder-compose | 1.6.0 | - | - | 1.7.0-alpha01 |
| viewfinder-core | 1.6.0 | - | - | 1.7.0-alpha01 |
| viewfinder-view | 1.6.0 | - | - | 1.7.0-alpha01 |
Dichiara le dipendenze
Per aggiungere una dipendenza da camera-viewfinder, devi aggiungere il repository Maven di Google al tuo progetto. Per saperne di più, consulta il repository Maven di Google.
Aggiungi le dipendenze per gli artefatti necessari nel file build.gradle per
la tua app o il tuo modulo:
Groovy
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") }
Per saperne di più sulle dipendenze, consulta Aggiungere dipendenze di build.
Feedback
Il tuo feedback ci aiuta a migliorare Jetpack. Facci sapere se riscontri nuovi problemi o hai idee per migliorare questa raccolta. Prima di segnalare un nuovo problema, dai un'occhiata ai problemi esistenti in questa raccolta. Puoi aggiungere il tuo voto a un problema esistente facendo clic sul pulsante a forma di stella.
Per saperne di più, consulta la documentazione di Issue Tracker.
Versione 1.7
Versione 1.7.0-alpha01
11 marzo 2026
Sono state rilasciate le versioni androidx.camera.viewfinder:viewfinder-compose:1.7.0-alpha01, androidx.camera.viewfinder:viewfinder-core:1.7.0-alpha01 e androidx.camera.viewfinder:viewfinder-view:1.7.0-alpha01. La versione 1.7.0-alpha01 contiene questi commit.
Versione 1.6
Versione 1.6.0
25 marzo 2026
Sono state rilasciate le versioni androidx.camera.viewfinder:viewfinder-compose:1.6.0, androidx.camera.viewfinder:viewfinder-core:1.6.0 e androidx.camera.viewfinder:viewfinder-view:1.6.0. La versione 1.6.0 contiene questi commit.
Modifiche importanti dalla versione 1.5.0:
- È stata esposta l'API pubblica
ViewfinderDefaults.implementationModeper il mirino predefinitoImplementationMode. Ora viene utilizzata come impostazione predefinita sia perViewfinderViewsia per l'elemento componibileViewfinder. (Ic3f52)
Versione 1.6.0-rc01
25 febbraio 2026
Sono state rilasciate le versioni androidx.camera.viewfinder:viewfinder-compose:1.6.0-rc01, androidx.camera.viewfinder:viewfinder-core:1.6.0-rc01 e androidx.camera.viewfinder:viewfinder-view:1.6.0-rc01. La versione 1.6.0-rc01 contiene questi commit.
Versione 1.6.0-beta02
11 febbraio 2026
Sono state rilasciate le versioni androidx.camera.viewfinder:viewfinder-compose:1.6.0-beta02, androidx.camera.viewfinder:viewfinder-core:1.6.0-beta02 e androidx.camera.viewfinder:viewfinder-view:1.6.0-beta02. La versione 1.6.0-beta02 contiene questi commit.
Versione 1.6.0-beta01
28 gennaio 2026
Sono state rilasciate le versioni androidx.camera.viewfinder:viewfinder-compose:1.6.0-beta01, androidx.camera.viewfinder:viewfinder-core:1.6.0-beta01 e androidx.camera.viewfinder:viewfinder-view:1.6.0-beta01. La versione 1.6.0-beta01 contiene questi commit.
Versione 1.6.0-alpha02
17 dicembre 2025
Sono state rilasciate le versioni androidx.camera.viewfinder:viewfinder-compose:1.6.0-alpha02, androidx.camera.viewfinder:viewfinder-core:1.6.0-alpha02 e androidx.camera.viewfinder:viewfinder-view:1.6.0-alpha02. La versione 1.6.0-alpha02 contiene questi commit.
Versione 1.6.0-alpha01
22 ottobre 2025
Sono state rilasciate le versioni androidx.camera.viewfinder:viewfinder-compose:1.6.0-alpha01, androidx.camera.viewfinder:viewfinder-core:1.6.0-alpha01 e androidx.camera.viewfinder:viewfinder-view:1.6.0-alpha01. La versione 1.6.0-alpha01 contiene questi commit.
Modifiche alle API
- È stata esposta l'API pubblica
ViewfinderDefaults.implementationModeper il mirino predefinitoImplementationMode. Ora viene utilizzata come impostazione predefinita sia perViewfinderViewsia per l'elemento componibileViewfinder. (Ic3f52)
Versione 1.5
Versione 1.5.3
28 gennaio 2026
Sono state rilasciate le versioni androidx.camera.viewfinder:viewfinder-compose:1.5.3, androidx.camera.viewfinder:viewfinder-core:1.5.3 e androidx.camera.viewfinder:viewfinder-view:1.5.3. La versione 1.5.3 contiene questi commit.
Versione 1.5.2
4 dicembre 2025
Sono state rilasciate le versioni androidx.camera.viewfinder:viewfinder-compose:1.5.2, androidx.camera.viewfinder:viewfinder-core:1.5.2 e androidx.camera.viewfinder:viewfinder-view:1.5.2. La versione 1.5.2 contiene questi commit.
Versione 1.5.1
8 ottobre 2025
Sono state rilasciate le versioni androidx.camera.viewfinder:viewfinder-compose:1.5.1, androidx.camera.viewfinder:viewfinder-core:1.5.1 e androidx.camera.viewfinder:viewfinder-view:1.5.1. La versione 1.5.1 contiene questi commit.
Versione 1.5.0
10 settembre 2025
Sono state rilasciate le versioni androidx.camera.viewfinder:viewfinder-compose:1.5.0, androidx.camera.viewfinder:viewfinder-core:1.5.0 e androidx.camera.viewfinder:viewfinder-view:1.5.0. La versione 1.5.0 contiene questi commit.
Modifiche importanti dalla versione 1.4.0:
Questa è la prima release stabile della raccolta Camera Viewfinder, che fornisce API basate su View e Compose robuste, in grado di gestire il ciclo di vita e facili da usare. Questi componenti sono progettati per fungere da mirino della fotocamera e possono essere integrati direttamente con Camera2.
Questa release stabilisce anche le basi per il nuovo artefatto androidx.camera:camera-compose, che introduce CameraXViewfinder, un mirino idiomatico di Compose che si integra perfettamente con SurfaceRequest di CameraX, in modo simile a come funziona PreviewView per i layout basati su View. Ecco alcune delle modifiche più importanti:
- Rilocazione degli artefatti: per migliorare la modularità, gli artefatti Viewfinder sono stati spostati nel proprio gruppo di raccolte. Gli sviluppatori che in precedenza utilizzavano le dipendenze
androidx.camera:camera-viewfinder*devono eseguire la migrazione aandroidx.camera.viewfinder:viewfinder-*. - Stabilizzazione e perfezionamento delle API: la superficie delle API è stata perfezionata per questa release stabile. Ciò include la ridenominazione di
CameraViewfinderinViewfinderViewper riflettere meglio la sua versatilità, la riorganizzazione dei pacchetti per maggiore chiarezza e la trasformazione diViewfinderSurfaceRequestin un tipo di dati immutabile per una gestione dello stato più prevedibile. - Aggiornamenti delle API Compose: l'API
Viewfinderdi Compose ora supportaContentScaleeAlignmentper un controllo granulare della visualizzazione dello stream della videocamera all'interno del suo contenitore, rispecchiando il comportamento dell'elemento componibileandroidx.compose.foundation.Imagestandard. - Gestione del ciclo di vita della superficie:
ViewfinderSurfaceSessionviene ora mantenuto attivo durante le modifiche alla configurazione e gli eventi del ciclo di vita su API 29 e versioni successive. Questa modifica è progettata per ridurre i frame persi e offrire un'esperienza utente più fluida. - Impostazioni predefinite della modalità di implementazione:
Viewfinderora utilizza per impostazione predefinita unaImplementationModeintelligente che seleziona automaticamente la migliore implementazione sottostante. Dà la priorità aSurfaceView(EXTERNALmode) ad alte prestazioni e passa in modo graduale aTextureView(EMBEDDEDmode) più compatibile sui livelli API precedenti o sui dispositivi con problemi di compatibilità noti. Questo comportamento può comunque essere sostituito per un controllo completo da parte dello sviluppatore.
Correzioni di bug
- L'elemento componibile
Viewfinderora funziona correttamente all'interno diPagerdi Compose e conmovableContentOf(), garantendo che la superficie venga reimpostata e gestita correttamente in scenari di UI complessi. (I0d9be, I79432) - È stato risolto un problema su Android 10 e 11 per cui
Viewfinderbasato suSurfaceViewpoteva apparire allungato quando venivano applicate le trasformazioni. (Icc77c)
Versione 1.5.0-rc01
13 agosto 2025
Sono state rilasciate le versioni androidx.camera.viewfinder:viewfinder-compose:1.5.0-rc01, androidx.camera.viewfinder:viewfinder-core:1.5.0-rc01 e androidx.camera.viewfinder:viewfinder-view:1.5.0-rc01. La versione 1.5.0-rc01 contiene questi commit.
Correzioni di bug
- Spostamento di
minSdkpredefinito da API 21 ad API 23 (Ibdfca, b/380448311, b/435705964, b/435705223)
Versione 1.5.0-beta03
16 luglio 2025
Sono state rilasciate le versioni androidx.camera.viewfinder:viewfinder-compose:1.5.0-beta03, androidx.camera.viewfinder:viewfinder-core:1.5.0-beta03 e androidx.camera.viewfinder:viewfinder-view:1.5.0-beta03. La versione 1.5.0-beta03 contiene questi commit.
Correzioni di bug
- La
ImplementationModepredefinita perViewfinder(sia basata su Compose sia su View) ora seleziona in modo intelligente traEXTERNAL(per le prestazioni) eEMBEDDED(per la compatibilità con API precedenti/dispositivi particolari). Questo comportamento può comunque essere sostituito da impostazioni esplicite inViewfinderSurfaceRequesto attributi XML (nell'API basata su View). (Iecd3a) - È stata migliorata la gestione delle sessioni di Surface consentendo di mantenere attivo
ViewfinderSurfaceSessiondurante i cicli di vita di creazione/eliminazione della superficie quando si utilizza TextureView o SurfaceView su API 29 e versioni successive. (I112d9) Viewfinderora garantisce che le superfici vengano rilasciate al momento giusto, solo quando non sono più in uso dalla sessione, anziché rilasciarle sempre quando l'elemento componibile viene eliminato. PerEXTERNAL(SurfaceView), questo comportamento è attualmente disponibile solo su API 29 e versioni successive. PerEMBEDDED(TextureView), questo comportamento è presente su tutti i livelli API. (I9a03f)Viewfinderora gestisce correttamente la sostituzione della superficie in scenari come quando un mirinoEXTERNALsu livello API 28 o inferiore si sposta fuori dallo schermo o se unViewfinder(con qualsiasiImplementationMode) fa parte dimoveableContentOf(). (I79432)- L'elemento componibile
Viewfinderora funziona correttamente conPagerdi Compose. Questa modifica garantisce che l'elemento componibile possa essere reimpostato correttamente implementando il callbackonResetdiAndroidView, supportando le implementazioniEMBEDDEDeEXTERNAL. (I0d9be) - È stato risolto un problema su Android 10/11 per cui
EXTERNALViewfinderpoteva apparire allungato o errato a causa dell'applicazione troppo anticipata delle operazioni di trasformazione (come scalatura o traslazione). Il sistema ora attende la creazione di Surface prima di applicare queste trasformazioni nella fase di layout, garantendo un output corretto. (Icc77c)
Versione 1.5.0-beta02
4 giugno 2025
Sono state rilasciate le versioni androidx.camera.viewfinder:viewfinder-compose:1.5.0-beta02, androidx.camera.viewfinder:viewfinder-core:1.5.0-beta02 e androidx.camera.viewfinder:viewfinder-view:1.5.0-beta02. La versione 1.5.0-beta02 contiene questi commit.
Versione 1.5.0-beta01
7 maggio 2025
Sono state rilasciate le versioni androidx.camera.viewfinder:viewfinder-compose:1.5.0-beta01, androidx.camera.viewfinder:viewfinder-core:1.5.0-beta01 e androidx.camera.viewfinder:viewfinder-view:1.5.0-beta01. La versione 1.5.0-beta01 contiene questi commit.
- Questa è la prima release beta ufficiale dei mirini basati su View e su elementi componibili sufficientemente flessibili da essere utilizzati con Camera2. Se stai cercando una View o un elemento componibile da utilizzare con CameraX, consulta
PreviewVieweCameraXViewfinder.
Nuove funzionalità
- Ora è possibile utilizzare
ContentScaleeAlignmentnel mirino basato su elementi componibili per scalare e posizionare la superficie visualizzata all'interno del suo container, in modo simile al comportamento diandroidx.compose.foundation.Image. (Ibcea3)
Modifiche alle API
TransformationInfoora ha valori predefiniti per tutti gli argomenti. In questo modo, i mirini possono essere creati senzaTransformationInfo, che per impostazione predefinita avrà una rotazione della sorgente di 0, nessun mirroring della sorgente e nessun rettangolo di ritaglio. (I2b1b2)- Il mirino componibile ora accetta una lambda finale per ricevere una sessione di Surface, in modo simile a
AndroidExternalSurface. La lambda fornita utilizzaViewfinderInitScopecome ricevitore, il che consente di installare un callback per ricevere nuove sessioni di Surface. Queste sessioni di Surface rilasciano automaticamente le risorse mantenute dal mirino quando escono dall'ambito. (Ib2b0d) ViewfinderSurfaceRequest.Builder.populateFromCharacteristicsè stato rimosso e sostituito da un insieme equivalente di API statiche che possono essere utilizzate per generareTransformationInfo, che produrrà la stessa trasformazione dipopulateFromCharacteristics. Questi metodi statici vengono aggiunti alla classeCamera2TransformationInfo. (Idc6af)ViewfinderSurfaceRequestnon include più le API asincrone per il recupero della superficie. Ora è un tipo di dati immutabile. Le API per il recupero di Surface sono state spostate nel mirino. (I30127)CameraViewfinderè stato rinominato inViewfinderViewin modo che il nome sia allineato a quello dell'elemento componibile Viewfinder e per indicare che può essere utilizzato con più di una sorgente della fotocamera. (Id9e6b)- Le classi di
viewfinder-viewsono state spostate dal pacchettoandroidx.camera.viewfinderal sottopacchettoandroidx.camera.viewfinder.view. (I6cb44) - Sono state aggiunte nuove API al mirino basato su View che consentono di impostare la rotazione, il mirroring e il rettangolo di ritaglio della sorgente. Questa classe
TransformationInfoè la stessa utilizzata dal mirino basato su elementi componibili. (I907c3) - Il mirino basato su View ora utilizza le nuove API
ViewfinderSurfaceRequestche non gestiscono più internamente la risposta di Surface. Anziché restituireListenableFuture<Surface>, le APIrequestSurfaceSession()ora restituisconoListenableFuture<ViewfinderSurfaceSession>, che restituisce una classeAutoCloseableche, quando chiusa, si comporta allo stesso modo della vecchia APIViewfinderSurfaceRequest.markSurfaceSafeToRelease(). In questo modo, le responsabilità tra la richiesta di superficie e la risposta di superficie sono più chiaramente separate. (I19041)
Versione 1.4
Versione 1.4.0-alpha13
26 febbraio 2025
Sono state rilasciate le versioni androidx.camera.viewfinder:viewfinder-compose:1.4.0-alpha13, androidx.camera.viewfinder:viewfinder-core:1.4.0-alpha13 e androidx.camera.viewfinder:viewfinder-view:1.4.0-alpha13. La versione 1.4.0-alpha13 contiene questi commit.
Versione 1.4.0-alpha12
15 gennaio 2025
Sono state rilasciate le versioni androidx.camera.viewfinder:viewfinder-compose:1.4.0-alpha12, androidx.camera.viewfinder:viewfinder-core:1.4.0-alpha12 e androidx.camera.viewfinder:viewfinder-view:1.4.0-alpha12. La versione 1.4.0-alpha12 contiene questi commit.
Nuove funzionalità
compileSdkè stato aggiornato a 35 per l'utilizzo dell'API correlata ad Android 15. Le app che utilizzano le raccolte CameraX dovranno anche aggiornare l'impostazione di configurazionecompileSdk. (Ic80cd)- Questa raccolta ora utilizza le annotazioni di nullità JSpecify, che sono di tipo-uso. Gli sviluppatori Kotlin devono utilizzare il seguente argomento del compilatore per applicare l'utilizzo corretto:
-Xjspecify-annotations=strict(questo è il valore predefinito a partire dalla versione 2.1.0 del compilatore Kotlin). (I7bcd7, b/326456246)
Versione 1.4.0-alpha11
11 dicembre 2024
Sono state rilasciate le versioni androidx.camera.viewfinder:viewfinder-compose:1.4.0-alpha11, androidx.camera.viewfinder:viewfinder-core:1.4.0-alpha11 e androidx.camera.viewfinder:viewfinder-view:1.4.0-alpha11. La versione 1.4.0-alpha11 contiene questi commit.
Modifiche alle API
- Le classi
viewfinder-coresono state spostate in pacchetti coerenti con la raccolta a cui appartengono. (I431c6) CameraViewfinder.ScaleTypeè stato spostato inviewfinder-corein modo che possa essere riutilizzato con Compose (I87ef1)- Le classi
CameraViewfinderobsolete sono state rimosse. Utilizza le nuove API che forniscono funzionalità equivalenti. (I6e59a)
Versione 1.4.0-alpha10
30 ottobre 2024
Sono state rilasciate le versioni androidx.camera.viewfinder:viewfinder-compose:1.4.0-alpha10, androidx.camera.viewfinder:viewfinder-core:1.4.0-alpha10 e androidx.camera.viewfinder:viewfinder-view:1.4.0-alpha10. La versione 1.4.0-alpha10 contiene questi commit.
Versione 1.4.0-alpha09
2 ottobre 2024
Sono state rilasciate le versioni androidx.camera.viewfinder:viewfinder-compose:1.4.0-alpha09, androidx.camera.viewfinder:viewfinder-core:1.4.0-alpha09 e androidx.camera.viewfinder:viewfinder-view:1.4.0-alpha09. La versione 1.4.0-alpha09 contiene questi commit.
Versione 1.4.0-alpha08
4 settembre 2024
Sono state rilasciate le versioni androidx.camera.viewfinder:viewfinder-compose:1.4.0-alpha08, androidx.camera.viewfinder:viewfinder-core:1.4.0-alpha08 e androidx.camera.viewfinder:viewfinder-view:1.4.0-alpha08. La versione 1.4.0-alpha08 contiene questi commit.
Nuove funzionalità
Con l'aggiornamento alla versione 1.4.0-alpha08, l'artefatto CameraX Viewfinder è stato spostato nel proprio gruppo di raccolte. Questa modifica è necessaria per migliorare la modularità e la manutenibilità della raccolta CameraX.
Se in precedenza utilizzavi le dipendenze androidx.camera:camera-viewfinder, androidx.camera:camera-viewfinder-compose o androidx.camera:camera-viewfinder-core, dovrai eseguire la transizione alle seguenti dipendenze:
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
Non dovrebbero essere necessarie modifiche al codice per eseguire questa transizione. Le vecchie coordinate Maven di Viewfinder non riceveranno più aggiornamenti.
Inoltre, se utilizzi Compose con CameraX, è ora disponibile una nuova raccolta alpha incentrata su Compose: androidx.camera:camera-compose. Questa fornisce l'elemento componibile CameraXViewfinder, un mirino idiomatico di Compose che adatta SurfaceRequest di CameraX a Compose, in modo simile a come funziona PreviewView per le View.