mirino della fotocamera
Questa tabella elenca tutti gli artefatti nel gruppo androidx.camera-viewfinder
.
Elemento | Release stabile | Candidato per la release | Versione beta | Alpha Release |
---|---|---|---|---|
viewfinder-compose | - | - | 1.5.0-beta03 | 1.4.0-alpha13 |
viewfinder-core | - | - | 1.5.0-beta03 | 1.4.0-alpha13 |
viewfinder-view | - | - | 1.5.0-beta03 | 1.4.0-alpha13 |
Dichiarazione di 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 che ti servono 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-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") }
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 libreria. Prima di crearne uno nuovo, dai un'occhiata ai problemi esistenti in questa libreria. Puoi aggiungere il tuo voto a un problema esistente facendo clic sul pulsante a forma di stella.
Per ulteriori informazioni, consulta la documentazione di Issue Tracker.
Versione 1.5
Versione 1.5.0-beta03
16 luglio 2025
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
sono rilasciati. La versione 1.5.0-beta03 contiene questi commit.
Correzioni di bug
- Il
ImplementationMode
predefinito perViewfinder
(sia basato sulla composizione che sulla visualizzazione) ora seleziona in modo intelligente traEXTERNAL
(per il rendimento) eEMBEDDED
(per la compatibilità con API precedenti/dispositivi particolari). Questo comportamento può comunque essere sostituito da impostazioni esplicite inViewfinderSurfaceRequest
o da attributi XML (nell'API basata sulla visualizzazione). (Iecd3a) - Gestione migliorata delle sessioni di Surface consentendo di mantenere attivo
ViewfinderSurfaceSession
durante i cicli di vita di creazione/eliminazione di Surface quando si utilizza TextureView o SurfaceView su API 29+. (I112d9) - Ora
Viewfinder
garantisce che le superfici vengano rilasciate al momento giusto, solo quando non sono più in uso nella sessione, anziché sempre quando viene eliminato il composable. PerEXTERNAL
(SurfaceView
), questo comportamento è attualmente disponibile solo sull'API 29+. PerEMBEDDED
(TextureView
), questo comportamento è presente in tutti i livelli API. (I9a03f) - Ora
Viewfinder
gestisce correttamente la sostituzione della superficie in scenari come quando un mirinoEXTERNAL
a livello API 28 o inferiore si sposta fuori dallo schermo o se unViewfinder
(con qualsiasiImplementationMode
) fa parte dimoveableContentOf()
. (I79432) - Il composable
Viewfinder
ora funziona correttamente conPager
di Compose. Questa modifica garantisce che il componente componibile possa essere reimpostato correttamente implementando il callbackonReset
diAndroidView
, supportando le implementazioniEMBEDDED
eEXTERNAL
. (I0d9be) - Corregge un problema su Android 10/11 in cui
EXTERNAL
Viewfinder
potrebbe apparire allungato o errato a causa dell'applicazione troppo precoce di operazioni di trasformazione (come scalatura o traslazione). Il sistema ora attende la creazione della superficie prima di applicare queste trasformazioni nella fase di layout, garantendo un output corretto. (Icc77c)
Versione 1.5.0-beta02
4 giugno 2025
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
sono rilasciati. La versione 1.5.0-beta02 contiene questi commit.
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
sono rilasciati. La versione 1.5.0-beta01 contiene questi commit.
- Si tratta della prima release beta ufficiale dei mirini basati sulla visualizzazione e sulla composizione, sufficientemente flessibili da essere utilizzati con Camera2. Se cerchi una View o un elemento componibile da utilizzare con CameraX, consulta
PreviewView
eCameraXViewfinder
.
Nuove funzionalità
ContentScale
eAlignment
ora possono essere utilizzati nel mirino basato sulla composizione per scalare e posizionare la superficie visualizzata all'interno del contenitore, in modo simile al comportamento diandroidx.compose.foundation.Image
. (Ibcea3)
Modifiche alle API
TransformationInfo
ora 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 pari a 0, nessun mirroring della sorgente e nessun rettangolo di ritaglio. (I2b1b2)- Composable Viewfinder ora accetta una lambda finale per ricevere una sessione di Surface, in modo simile a
AndroidExternalSurface
. La funzione lambda fornita utilizzaViewfinderInitScope
come destinatario, il che consente di installare un callback per ricevere nuove sessioni di Surface. Queste sessioni di superficie rilasciano automaticamente le risorse detenute dal mirino quando escono dall'ambito. (Ib2b0d) ViewfinderSurfaceRequest.Builder.populateFromCharacteristics
è stato rimosso e sostituito con 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 superficie. Ora è un tipo di dati immutabile. Le API per il recupero della superficie sono state spostate nel mirino. (I30127)CameraViewfinder
è stato rinominato inViewfinderView
in modo che la denominazione sia in linea con quella del composable Viewfinder e per indicare che può essere utilizzato con più di una sorgente della videocamera. (Id9e6b)- I corsi di
viewfinder-view
sono stati spostati nel sottopacchettoandroidx.camera.viewfinder.view
dal pacchettoandroidx.camera.viewfinder
. (I6cb44) - Sono state aggiunte nuove API al mirino basato sulla visualizzazione che consentono di impostare la rotazione, il mirroring e il rettangolo di ritaglio della sorgente. Questa classe
TransformationInfo
è la stessa utilizzata da Viewfinder basato su Compose. (I907c3) - Il mirino basato sulla visualizzazione ora utilizza nuove API
ViewfinderSurfaceRequest
che non gestiscono più internamente la risposta di Surface. Anziché restituireListenableFuture<Surface>
, le APIrequestSurfaceSession()
ora restituisconoListenableFuture<ViewfinderSurfaceSession>
, che restituisce una classeAutoCloseable
che, una volta chiusa, si comporta allo stesso modo della chiamata alla vecchia API diViewfinderSurfaceRequest.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
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
sono 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
sono 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 correlata ad Android 15. Le app che utilizzano le librerie CameraX dovranno anche eseguire l'upgrade dell'impostazione di configurazionecompileSdk
. (Ic80cd) - Questa libreria ora utilizza le annotazioni di nullabilità JSpecify, che sono di tipo use. Gli sviluppatori Kotlin devono utilizzare il seguente argomento del compilatore per imporre 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
sono rilasciati. La versione 1.4.0-alpha11 contiene questi commit.
Modifiche alle API
- Le classi
viewfinder-core
sono state spostate in pacchetti coerenti con la libreria a cui appartengono. (I431c6) CameraViewfinder.ScaleType
è stato spostato inviewfinder-core
in modo che possa essere riutilizzato con la composizione (I87ef1)- Le classi
CameraViewfinder
deprecate vengono rimosse. 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
sono 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
sono 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
sono rilasciati. La versione 1.4.0-alpha08 contiene questi commit.
Nuove funzionalità
Con l'aggiornamento alla versione 1.4.0-alpha08, l'artefatto del mirino 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 ai seguenti elementi:
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 eseguire 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 Compose-first: androidx.camera:camera-compose
. Questo fornisce il composable CameraXViewfinder
, che è un Viewfinder idiomatico di Compose che adatta SurfaceRequest
di CameraX a Compose, in modo simile al funzionamento di PreviewView
per le visualizzazioni.