mirino della fotocamera

  
Mirino componibile autonomo e basato sulla visualizzazione per la fotocamera"

Questa tabella elenca tutti gli elementi nel gruppo androidx.camera-viewfinder.

Elemento Release stabile Candidato per la release Versione beta Versione alpha
viewfinder-compose - - 1.5.0-beta01 1.4.0-alpha13
viewfinder-core - - 1.5.0-beta01 1.4.0-alpha13
viewfinder-view - - 1.5.0-beta01 1.4.0-alpha13
Questa libreria è stata aggiornata l'ultima volta il 7 maggio 2025

Dichiarazione delle dipendenze

Per aggiungere una dipendenza a camera-viewfinder, devi aggiungere il repository Maven di Google al tuo progetto. Per ulteriori informazioni, consulta il repository Maven di Google.

Aggiungi le dipendenze per gli elementi 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.5.0-beta01"
    implementation "androidx.camera.viewfinder:viewfinder-compose:1.5.0-beta01"
    implementation "androidx.camera.viewfinder:viewfinder-core:1.5.0-beta01"

}

Kotlin

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


}

Per ulteriori informazioni sulle dipendenze, consulta Aggiungere dipendenze di compilazione.

Feedback

Il tuo feedback ci aiuta a migliorare Jetpack. Facci sapere se riscontri nuovi problemi o hai idee per migliorare questa raccolta. Prima di crearne uno nuovo, 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.

Creare un nuovo problema

Per ulteriori informazioni, consulta la documentazione del Tracker dei problemi.

Versione 1.5

Versione 1.5.0-beta01

7 maggio 2025

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 vengono rilasciati. La versione 1.5.0-beta01 contiene questi commit.

  • Questa è la prima release beta ufficiale dei mirini basati sulla visualizzazione e sulla composizione, sufficientemente flessibili da essere utilizzati con Camera2. Se stai cercando una vista o un composable da utilizzare con CameraX, consulta PreviewView e CameraXViewfinder.

Nuove funzionalità

  • Ora ContentScale e Alignment possono essere utilizzati nel mirino basato sulla composizione per ridimensionare e posizionare la superficie visualizzata all'interno del relativo contenitore, in modo simile al comportamento di androidx.compose.foundation.Image. (Ibcea3)

Modifiche all'API

  • TransformationInfo ora ha valori predefiniti per tutti gli argomenti. In questo modo, sarà possibile creare i visori senza TransformationInfo, per cui per impostazione predefinita la rotazione della sorgente sarà pari a 0, non verrà eseguito il mirroring della sorgente e non verrà applicato alcun rettangolo di ritaglio. (I2b1b2)
  • Il mirino componibile ora accetta un lambda finale per ricevere una sessione Surface, in modo simile a AndroidExternalSurface. La funzione lambda fornita utilizza ViewfinderInitScope come ricevente, il che consente di installare un callback per ricevere nuove sessioni di Surface. Queste sessioni delle piattaforme rilasciano automaticamente le risorse detenute da Viewfinder quando non rientrano più nell'ambito. (Ib2b0d)
  • ViewfinderSurfaceRequest.Builder.populateFromCharacteristics è stato rimosso e ora è 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ù API asincrone per il recupero della piattaforma. Ora è un tipo di dati immutabile. Le API per il recupero della superficie sono ora spostate nel mirino. (I30127)
  • CameraViewfinder è stato rinominato in ViewfinderView in modo che il nome sia in linea con quello del composable Visore e per indicare che può essere utilizzato con più origini oltre alle sorgenti videocamera. (Id9e6b)
  • Le classi di viewfinder-view sono state spostate nel sottopacchetto androidx.camera.viewfinder.view dal pacchetto androidx.camera.viewfinder. (I6cb44)
  • A Viewfinder basato sulle visualizzazioni sono state aggiunte nuove API che consentono di impostare la rotazione, il mirroring e il rettangolo di ritaglio dell'origine. Questa classe TransformationInfo è la stessa utilizzata da Viewfinder basato su composizione. (I907c3)
  • Il mirino basato sulla visualizzazione ora utilizza nuove API ViewfinderSurfaceRequest che non gestiscono più internamente la risposta della piattaforma. Anziché restituire ListenableFuture<Surface>, le API requestSurfaceSession() ora restituiscono ListenableFuture<ViewfinderSurfaceSession>, che restituisce una classe AutoCloseable che, quando è chiusa, si comporta come la chiamata alla vecchia API di ViewfinderSurfaceRequest.markSurfaceSafeToRelease(). In questo modo, le responsabilità della richiesta e della risposta della piattaforma sono più chiare. (I19041)

Versione 1.4

Versione 1.4.0-alpha13

26 febbraio 2025

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 vengono rilasciati. La versione 1.4.0-alpha13 contiene questi commit.

Versione 1.4.0-alpha12

15 gennaio 2025

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 vengono rilasciati. La versione 1.4.0-alpha12 contiene questi commit.

Nuove funzionalità

  • È stato eseguito l'upgrade di compileSdk a 35 per l'utilizzo dell'API relativa ad Android 15. Anche le app che utilizzano le librerie CameraX dovranno eseguire l'upgrade dell'impostazione di configurazione compileSdk. (Ic80cd)
  • Questa libreria ora utilizza le annotazioni di nullità JSpecify, che sono di tipo di utilizzo. 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

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 vengono rilasciati. La versione 1.4.0-alpha11 contiene questi commit.

Modifiche all'API

  • I corsi viewfinder-core sono stati spostati in pacchetti coerenti con la libreria a cui appartengono. (I431c6)
  • CameraViewfinder.ScaleType è stato spostato in viewfinder-core in modo da poter essere riutilizzato con Componi (I87ef1)
  • I tipi di CameraViewfinder deprecati vengono rimossi. Utilizza le nuove API che forniscono funzionalità equivalenti. (I6e59a)

Versione 1.4.0-alpha10

30 ottobre 2024

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 vengono rilasciati. La versione 1.4.0-alpha10 contiene questi commit.

Versione 1.4.0-alpha09

2 ottobre 2024

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 vengono rilasciati. La versione 1.4.0-alpha09 contiene questi commit.

Versione 1.4.0-alpha08

4 settembre 2024

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 vengono rilasciati. La versione 1.4.0-alpha08 contiene questi commit.

Nuove funzionalità

Con l'aggiornamento alla versione 1.4.0-alpha08, l'elemento Viewfinder di CameraX è stato spostato nel proprio gruppo di librerie. Questa modifica è necessaria per migliorare la modularità e la manutenibilità della libreria CameraX.

Se in precedenza utilizzavi androidx.camera:camera-viewfinder, androidx.camera:camera-viewfinder-compose o androidx.camera:camera-viewfinder-core, dovrai eseguire la transizione delle dipendenze a quanto segue:

  • 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

Per effettuare questa transizione non dovrebbero essere necessarie modifiche al codice. Le vecchie coordinate Maven di Viewfinder non riceveranno più aggiornamenti.

Inoltre, se utilizzi Compose con CameraX, ora è disponibile in versione alpha una nuova libreria basata su Compose: androidx.camera:camera-compose. Viene fornito il composable CameraXViewfinder, un mirino in stile Compose che adatta SurfaceRequest di CameraX a Compose, in modo simile al funzionamento di PreviewView per le visualizzazioni.