mirino della 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 |
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.
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
eCameraXViewfinder
.
Nuove funzionalità
- Ora
ContentScale
eAlignment
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 diandroidx.compose.foundation.Image
. (Ibcea3)
Modifiche all'API
TransformationInfo
ora ha valori predefiniti per tutti gli argomenti. In questo modo, sarà possibile creare i visori senzaTransformationInfo
, 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 utilizzaViewfinderInitScope
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 generareTransformationInfo
, che produrrà la stessa trasformazione dipopulateFromCharacteristics
. Questi metodi statici vengono aggiunti alla classeCamera2TransformationInfo
. (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 inViewfinderView
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 sottopacchettoandroidx.camera.viewfinder.view
dal pacchettoandroidx.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é restituireListenableFuture<Surface>
, le APIrequestSurfaceSession()
ora restituisconoListenableFuture<ViewfinderSurfaceSession>
, che restituisce una classeAutoCloseable
che, quando è chiusa, si comporta come la chiamata alla vecchia API diViewfinderSurfaceRequest.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 configurazionecompileSdk
. (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 inviewfinder-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.