visor da câmera
Esta tabela lista todos os artefatos no grupo androidx.camera-viewfinder.
| Artefato | Versão estável | Versão candidata a lançamento | Versão Beta | Versão Alfa |
|---|---|---|---|---|
| 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 |
Declarar dependências
Para adicionar uma dependência ao camera-viewfinder, é preciso adicionar o repositório Maven do Google ao seu projeto. Leia Repositório Maven do Google para ver mais informações.
Adicione as dependências dos artefatos necessários ao arquivo build.gradle do
seu app ou módulo:
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") }
Para mais informações sobre dependências, consulte Adicionar dependências de build.
Feedback
Seu feedback ajuda a melhorar o Jetpack. Avise se você descobrir novos problemas ou tiver ideias para melhorar esta biblioteca. Consulte os problemas conhecidos nesta biblioteca antes de criar um novo. Adicione seu voto a um problema clicando no botão de estrela.
Consulte a documentação do Issue Tracker para saber mais.
Versão 1.7
Versão 1.7.0-alpha01
11 de março de 2026
Lançamento de 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. A versão 1.7.0-alpha01 contém estes commits.
Versão 1.6
Versão 1.6.0
25 de março de 2026
Lançamento de 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. A versão 1.6.0 contém estes commits.
Mudanças importantes desde a versão 1.5.0 :
- Exposição do
ImplementationModedo visor padrão pela nova API públicaViewfinderDefaults.implementationMode. Agora, ela é usada como padrão paraViewfinderViewe o elemento combinávelViewfinder. (Ic3f52)
Versão 1.6.0-rc01
25 de fevereiro de 2026
Lançamento de 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. A versão 1.6.0-rc01 contém estes commits.
Versão 1.6.0-beta02
11 de fevereiro de 2026
Lançamento de 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. A versão 1.6.0-beta02 contém estes commits.
Versão 1.6.0-beta01
28 de janeiro de 2026
Lançamento de 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. A versão 1.6.0-beta01 contém estes commits.
Versão 1.6.0-alpha02
17 de dezembro de 2025
Lançamento de 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. A versão 1.6.0-alpha02 contém estes commits.
Versão 1.6.0-alpha01
22 de outubro de 2025
Lançamento de 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. A versão 1.6.0-alpha01 contém estes commits.
Mudanças na API
- Exposição do
ImplementationModedo visor padrão pela nova API públicaViewfinderDefaults.implementationMode. Agora, ela é usada como padrão paraViewfinderViewe o elemento combinávelViewfinder. (Ic3f52)
Versão 1.5
Versão 1.5.3
28 de janeiro de 2026
Lançamento de 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. A versão 1.5.3 contém estes commits.
Versão 1.5.2
4 de dezembro de 2025
Lançamento de 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. A versão 1.5.2 contém estes commits.
Versão 1.5.1
8 de outubro de 2025
Lançamento de 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. A versão 1.5.1 contém estes commits.
Versão 1.5.0
10 de setembro de 2025
Lançamento de 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. A versão 1.5.0 contém estes commits.
Mudanças importantes desde a versão 1.4.0 :
Esta é a primeira versão estável da biblioteca do visor da câmera, que oferece APIs robustas, com reconhecimento do ciclo de vida e fáceis de usar baseadas em visualização e Compose. Esses componentes são projetados para servir como um visor da câmera e podem ser integrados diretamente ao Camera2.
Essa versão também estabelece a base para o novo artefato androidx.camera:camera-compose, que apresenta o CameraXViewfinder, um visor idiomático do Compose que se integra perfeitamente aos SurfaceRequests do CameraX, semelhante ao funcionamento do PreviewView para layouts baseados em visualização. Algumas das mudanças mais importantes incluem o seguinte:
- Realocação de artefatos:para melhorar a modularidade, os artefatos do visor foram movidos para o próprio grupo de bibliotecas. Os desenvolvedores que usavam dependências
androidx.camera:camera-viewfinder*precisam migrar paraandroidx.camera.viewfinder:viewfinder-*. - Estabilização e refinamentos da API:a plataforma da API foi revisada para esta versão estável. Isso inclui a renomeação de
CameraViewfinderparaViewfinderViewpara refletir melhor a versatilidade, a reorganização de pacotes para fins de esclarecimento e a criação deViewfinderSurfaceRequestcomo um tipo de dados imutável para um gerenciamento de estado mais previsível. - Atualizações da API Compose:a API
Viewfinderdo Compose agora oferece suporte aContentScaleeAlignmentpara controle refinado de como o stream da câmera é exibido no contêiner, espelhando o comportamento do elemento combinávelandroidx.compose.foundation.Imagepadrão. - Gerenciamento do ciclo de vida da superfície:o
ViewfinderSurfaceSessionagora é mantido ativo em mudanças de configuração e eventos de ciclo de vida na API 29 e mais recentes. Essa mudança foi projetada para reduzir os frames descartados e proporcionar uma experiência do usuário mais tranquila. - Padrões do modo de implementação:o
Viewfinderagora usa umImplementationModeinteligente por padrão que seleciona automaticamente a melhor implementação subjacente. Ele prioriza oSurfaceViewde alto desempenho (modoEXTERNAL) e volta para oTextureViewmais compatível (modoEMBEDDED) em níveis de API mais antigos ou dispositivos com problemas de compatibilidade conhecidos. Esse comportamento ainda pode ser substituído para controle total do desenvolvedor.
Correções de bugs
- O elemento combinável
Viewfinderagora funciona corretamente noPagerdo Compose e commovableContentOf(), garantindo que a superfície seja redefinida e gerenciada corretamente em cenários de interface complexos. (I0d9be, I79432) - Foi corrigido um problema no Android 10 e 11 em que o
Viewfinderbaseado emSurfaceViewpodia aparecer esticado quando transformações eram aplicadas. (Icc77c)
Versão 1.5.0-rc01
13 de agosto de 2025
Lançamento de 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. A versão 1.5.0-rc01 contém estes commits.
Correções de bugs
- Movimentação do
minSdkpadrão da API 21 para a API 23 (Ibdfca, b/380448311, b/435705964, b/435705223)
Versão 1.5.0-beta03
16 de julho de 2025
Lançamento de 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. A versão 1.5.0-beta03 contém estes commits.
Correções de bugs
- O
ImplementationModepadrão paraViewfinder(baseado em Compose e visualização) agora seleciona de forma inteligente entreEXTERNAL(para desempenho) eEMBEDDED(para compatibilidade em APIs mais antigas/dispositivos peculiares). Esse comportamento ainda pode ser substituído por configurações explícitas emViewfinderSurfaceRequestou atributos XML (na API baseada em visualização). (Iecd3a) - Melhoria do gerenciamento de sessões de superfície, permitindo que o
ViewfinderSurfaceSessionseja mantido ativo em ciclos de vida de criação/destruição de superfície ao usar TextureView ou SurfaceView na API 29 e mais recentes. (I112d9) - O
Viewfinderagora garante que as superfícies sejam liberadas no momento adequado, somente quando não estiverem mais em uso pela sessão, em vez de sempre liberar quando o elemento combinável for descartado. ParaEXTERNAL(SurfaceView), esse comportamento está disponível apenas na API 29 e mais recentes. ParaEMBEDDED(TextureView), esse comportamento está presente em todos os níveis de API. (I9a03f) - O
Viewfinderagora processa corretamente a substituição de superfície em cenários como quando um visorEXTERNALno nível da API 28 ou anterior sai da tela ou se umViewfinder(com qualquerImplementationMode) faz parte demoveableContentOf(). (I79432) - O
Viewfindercombinável agora funciona corretamente com oPagerdo Compose. Essa mudança garante que o elemento combinável possa ser redefinido implementando o callbackonResetdeAndroidView, com suporte a implementaçõesEMBEDDEDeEXTERNAL. (I0d9be) - Correção de um problema no Android 10/11 em que o
ViewfinderEXTERNALpodia aparecer esticado ou incorreto devido a operações de transformação (como escala ou tradução) aplicadas muito cedo. O sistema agora aguarda a criação da superfície antes de aplicar essas transformações na fase de layout, garantindo a saída correta. (Icc77c)
Versão 1.5.0-beta02
4 de junho de 2025
Lançamento de 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. A versão 1.5.0-beta02 contém estes commits.
Versão 1.5.0-beta01
7 de maio de 2025
Lançamento de 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. A versão 1.5.0-beta01 contém estes commits.
- Esta é a primeira versão Beta oficial dos visores baseados em visualização e em Compose, que são flexíveis o suficiente para serem usados com o Camera2. Se você estiver procurando uma visualização ou um elemento combinável para usar com o CameraX, consulte
PreviewVieweCameraXViewfinder.
Novos recursos
ContentScaleeAlignmentagora podem ser usados no visor baseado em Compose para dimensionar e posicionar a superfície exibida no contêiner, semelhante ao comportamento deandroidx.compose.foundation.Image. (Ibcea3)
Mudanças na API
TransformationInfoagora tem valores padrão para todos os argumentos. Isso permite que os visores sejam criados semTransformationInfo, que será padrão para uma rotação de origem de 0, sem espelhamento de origem e sem retângulo de corte. (I2b1b2)- O visor combinável agora usa uma lambda final para receber uma sessão de superfície, semelhante a
AndroidExternalSurface. A lambda fornecida usaViewfinderInitScopecomo um receptor, o que permite instalar um callback para receber novas sessões de superfície. Essas sessões de superfície liberam automaticamente os recursos mantidos pelo visor quando saem do escopo. (Ib2b0d) ViewfinderSurfaceRequest.Builder.populateFromCharacteristicsfoi removido e substituído por um conjunto equivalente de APIs estáticas que podem ser usadas para gerarTransformationInfo, que produzirá a mesma transformação quepopulateFromCharacteristics. Esses métodos estáticos são adicionados à classeCamera2TransformationInfo. (Idc6af)ViewfinderSurfaceRequestnão inclui mais APIs assíncronas para recuperar a superfície. Agora, é um tipo de dados imutável. As APIs para recuperar a superfície agora são movidas para o visor. (I30127)CameraViewfinderfoi renomeado comoViewfinderViewpara que a nomenclatura esteja alinhada com a do elemento combinável do visor e para indicar que ele pode ser usado com mais do que apenas fontes de câmera. (Id9e6b)- As classes de
viewfinder-viewforam movidas para o subpacoteandroidx.camera.viewfinder.viewdo pacoteandroidx.camera.viewfinder. (I6cb44) - Novas APIs são adicionadas ao visor baseado em visualização que permitem definir a rotação da origem, o espelhamento e o retângulo de corte. Essa classe
TransformationInfoé a mesma usada pelo visor baseado em Compose. (I907c3) - O visor baseado em visualização agora usa novas APIs
ViewfinderSurfaceRequestque não processam mais internamente a resposta de superfície. Em vez de retornarListenableFuture<Surface>, as APIsrequestSurfaceSession()agora retornamListenableFuture<ViewfinderSurfaceSession>, que retorna uma classeAutoCloseableque, quando fechada, se comporta da mesma maneira que chamar a API antiga deViewfinderSurfaceRequest.markSurfaceSafeToRelease(). Isso proporciona uma separação mais clara de responsabilidades entre a solicitação e a resposta de superfície. (I19041)
Versão 1.4
Versão 1.4.0-alpha13
26 de fevereiro de 2025
Lançamento de 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. A versão 1.4.0-alpha13 contém estes commits.
Versão 1.4.0-alpha12
15 de janeiro de 2025
Lançamento de 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. A versão 1.4.0-alpha12 contém estes commits.
Novos recursos
compileSdkatualizado como 35 para usar a API relacionada ao Android 15. Os apps que usam bibliotecas CameraX também precisam atualizar a configuraçãocompileSdk. (Ic80cd)- Essa biblioteca agora usa anotações de nulidade JSpecify, que são de uso de tipo. Os desenvolvedores Kotlin precisam usar o seguinte argumento do compilador para aplicar o uso correto:
-Xjspecify-annotations=strict(esse é o padrão a partir da versão 2.1.0 do compilador Kotlin). (I7bcd7, b/326456246)
Versão 1.4.0-alpha11
11 de dezembro de 2024
Lançamento de 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. A versão 1.4.0-alpha11 contém estes commits.
Mudanças na API
- As classes
viewfinder-coreforam movidas para pacotes consistentes com a biblioteca a que pertencem. (I431c6) CameraViewfinder.ScaleTypefoi movido paraviewfinder-corepara que possa ser reutilizado com o Compose (I87ef1)- As classes
CameraViewfinderdescontinuadas foram removidas. Use as novas APIs que oferecem funcionalidade equivalente. (I6e59a)
Versão 1.4.0-alpha10
30 de outubro de 2024
Lançamento de 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. A versão 1.4.0-alpha10 contém estes commits.
Versão 1.4.0-alpha09
2 de outubro de 2024
Lançamento de 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. A versão 1.4.0-alpha09 contém estes commits.
Versão 1.4.0-alpha08
4 de setembro de 2024
Lançamento de 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. A versão 1.4.0-alpha08 contém estes commits.
Novos recursos
Com a atualização para 1.4.0-alpha08, o artefato do visor do CameraX foi movido para o próprio grupo de bibliotecas. Essa mudança é necessária para melhorar a modularidade e a capacidade de manutenção da biblioteca CameraX.
Se você dependia de androidx.camera:camera-viewfinder, androidx.camera:camera-viewfinder-compose ou androidx.camera:camera-viewfinder-core, será necessário fazer a transição das dependências para o seguinte:
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
Nenhuma mudança de código é necessária para fazer essa transição. As coordenadas antigas do Maven do visor não vão mais receber atualizações.
Além disso, se você estiver usando o Compose com o CameraX, uma nova biblioteca do Compose estará disponível na versão Alfa: androidx.camera:camera-compose. Ela fornece o elemento combinável CameraXViewfinder, que é um visor idiomático do Compose que adapta o SurfaceRequest do CameraX ao Compose, semelhante ao funcionamento do PreviewView para visualizações.