mirino della fotocamera

  
Mirino autonomo basato su View e su elementi componibili per la 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
Questa raccolta è stata aggiornata l'ultima volta il 25 marzo 2026.

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.

Crea un nuovo problema

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.implementationMode per il mirino predefinito ImplementationMode. Ora viene utilizzata come impostazione predefinita sia per ViewfinderView sia per l'elemento componibile Viewfinder. (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.implementationMode per il mirino predefinito ImplementationMode. Ora viene utilizzata come impostazione predefinita sia per ViewfinderView sia per l'elemento componibile Viewfinder. (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 a androidx.camera.viewfinder:viewfinder-*.
  • Stabilizzazione e perfezionamento delle API: la superficie delle API è stata perfezionata per questa release stabile. Ciò include la ridenominazione di CameraViewfinder in ViewfinderView per riflettere meglio la sua versatilità, la riorganizzazione dei pacchetti per maggiore chiarezza e la trasformazione di ViewfinderSurfaceRequest in un tipo di dati immutabile per una gestione dello stato più prevedibile.
  • Aggiornamenti delle API Compose: l'API Viewfinder di Compose ora supporta ContentScale e Alignment per un controllo granulare della visualizzazione dello stream della videocamera all'interno del suo contenitore, rispecchiando il comportamento dell'elemento componibile androidx.compose.foundation.Image standard.
  • Gestione del ciclo di vita della superficie: ViewfinderSurfaceSession viene 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: Viewfinder ora utilizza per impostazione predefinita una ImplementationMode intelligente che seleziona automaticamente la migliore implementazione sottostante. Dà la priorità a SurfaceView (EXTERNAL mode) ad alte prestazioni e passa in modo graduale a TextureView (EMBEDDED mode) 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 Viewfinder ora funziona correttamente all'interno di Pager di Compose e con movableContentOf(), 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 Viewfinder basato su SurfaceView poteva 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

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 ImplementationMode predefinita per Viewfinder (sia basata su Compose sia su View) ora seleziona in modo intelligente tra EXTERNAL (per le prestazioni) e EMBEDDED (per la compatibilità con API precedenti/dispositivi particolari). Questo comportamento può comunque essere sostituito da impostazioni esplicite in ViewfinderSurfaceRequest o attributi XML (nell'API basata su View). (Iecd3a)
  • È stata migliorata la gestione delle sessioni di Surface consentendo di mantenere attivo ViewfinderSurfaceSession durante i cicli di vita di creazione/eliminazione della superficie quando si utilizza TextureView o SurfaceView su API 29 e versioni successive. (I112d9)
  • Viewfinder ora 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. Per EXTERNAL (SurfaceView), questo comportamento è attualmente disponibile solo su API 29 e versioni successive. Per EMBEDDED (TextureView), questo comportamento è presente su tutti i livelli API. (I9a03f)
  • Viewfinder ora gestisce correttamente la sostituzione della superficie in scenari come quando un mirino EXTERNAL su livello API 28 o inferiore si sposta fuori dallo schermo o se un Viewfinder (con qualsiasi ImplementationMode) fa parte di moveableContentOf(). (I79432)
  • L'elemento componibile Viewfinder ora funziona correttamente con Pager di Compose. Questa modifica garantisce che l'elemento componibile possa essere reimpostato correttamente implementando il callback onReset di AndroidView, supportando le implementazioni EMBEDDED e EXTERNAL. (I0d9be)
  • È stato risolto un problema su Android 10/11 per cui EXTERNAL Viewfinder poteva 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 PreviewView e CameraXViewfinder.

Nuove funzionalità

  • Ora è possibile utilizzare ContentScale e Alignment nel mirino basato su elementi componibili per scalare e posizionare la superficie visualizzata all'interno del suo container, in modo simile al comportamento di androidx.compose.foundation.Image. (Ibcea3)

Modifiche alle API

  • TransformationInfo ora ha valori predefiniti per tutti gli argomenti. In questo modo, i mirini possono essere creati senza TransformationInfo, 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 utilizza ViewfinderInitScope come 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 generare TransformationInfo, che produrrà la stessa trasformazione di populateFromCharacteristics. Questi metodi statici vengono aggiunti alla classe Camera2TransformationInfo. (Idc6af)
  • ViewfinderSurfaceRequest non 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 in ViewfinderView in 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-view sono state spostate dal pacchetto androidx.camera.viewfinder al sottopacchetto androidx.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 ViewfinderSurfaceRequest che non gestiscono più internamente la risposta di Surface. Anziché restituire ListenableFuture<Surface>, le API requestSurfaceSession() ora restituiscono ListenableFuture<ViewfinderSurfaceSession>, che restituisce una classe AutoCloseable che, quando chiusa, si comporta allo stesso modo della vecchia API ViewfinderSurfaceRequest.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 configurazione compileSdk. (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-core sono state spostate in pacchetti coerenti con la raccolta a cui appartengono. (I431c6)
  • CameraViewfinder.ScaleType è stato spostato in viewfinder-core in modo che possa essere riutilizzato con Compose (I87ef1)
  • Le classi CameraViewfinder obsolete 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-view
  • androidx.camera:camera-viewfinder-compose -> androidx.camera.viewfinder:viewfinder-compose
  • androidx.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.