visor da câmera

  
Elemento combinável independente e visor baseado em visualização para 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
Esta biblioteca foi atualizada pela última vez em: 25 de março de 2026

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.

Criar novo problema

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 ImplementationMode do visor padrão pela nova API pública ViewfinderDefaults.implementationMode. Agora, ela é usada como padrão para ViewfinderView e o elemento combinável Viewfinder. (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 ImplementationMode do visor padrão pela nova API pública ViewfinderDefaults.implementationMode. Agora, ela é usada como padrão para ViewfinderView e o elemento combinável Viewfinder. (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 para androidx.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 CameraViewfinder para ViewfinderView para refletir melhor a versatilidade, a reorganização de pacotes para fins de esclarecimento e a criação de ViewfinderSurfaceRequest como um tipo de dados imutável para um gerenciamento de estado mais previsível.
  • Atualizações da API Compose:a API Viewfinder do Compose agora oferece suporte a ContentScale e Alignment para controle refinado de como o stream da câmera é exibido no contêiner, espelhando o comportamento do elemento combinável androidx.compose.foundation.Image padrão.
  • Gerenciamento do ciclo de vida da superfície:o ViewfinderSurfaceSession agora é 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 Viewfinder agora usa um ImplementationMode inteligente por padrão que seleciona automaticamente a melhor implementação subjacente. Ele prioriza o SurfaceView de alto desempenho (modo EXTERNAL) e volta para o TextureView mais compatível (modo EMBEDDED) 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 Viewfinder agora funciona corretamente no Pager do Compose e com movableContentOf(), 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 Viewfinder baseado em SurfaceView podia 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

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 ImplementationMode padrão para Viewfinder (baseado em Compose e visualização) agora seleciona de forma inteligente entre EXTERNAL (para desempenho) e EMBEDDED (para compatibilidade em APIs mais antigas/dispositivos peculiares). Esse comportamento ainda pode ser substituído por configurações explícitas em ViewfinderSurfaceRequest ou atributos XML (na API baseada em visualização). (Iecd3a)
  • Melhoria do gerenciamento de sessões de superfície, permitindo que o ViewfinderSurfaceSession seja 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 Viewfinder agora 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. Para EXTERNAL (SurfaceView), esse comportamento está disponível apenas na API 29 e mais recentes. Para EMBEDDED (TextureView), esse comportamento está presente em todos os níveis de API. (I9a03f)
  • O Viewfinder agora processa corretamente a substituição de superfície em cenários como quando um visor EXTERNAL no nível da API 28 ou anterior sai da tela ou se um Viewfinder (com qualquer ImplementationMode) faz parte de moveableContentOf(). (I79432)
  • O Viewfinder combinável agora funciona corretamente com o Pager do Compose. Essa mudança garante que o elemento combinável possa ser redefinido implementando o callback onReset de AndroidView, com suporte a implementações EMBEDDED e EXTERNAL. (I0d9be)
  • Correção de um problema no Android 10/11 em que o Viewfinder EXTERNAL podia 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 PreviewView e CameraXViewfinder.

Novos recursos

  • ContentScale e Alignment agora podem ser usados no visor baseado em Compose para dimensionar e posicionar a superfície exibida no contêiner, semelhante ao comportamento de androidx.compose.foundation.Image. (Ibcea3)

Mudanças na API

  • TransformationInfo agora tem valores padrão para todos os argumentos. Isso permite que os visores sejam criados sem TransformationInfo, 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 usa ViewfinderInitScope como 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.populateFromCharacteristics foi removido e substituído por um conjunto equivalente de APIs estáticas que podem ser usadas para gerar TransformationInfo, que produzirá a mesma transformação que populateFromCharacteristics. Esses métodos estáticos são adicionados à classe Camera2TransformationInfo. (Idc6af)
  • ViewfinderSurfaceRequest nã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)
  • CameraViewfinder foi renomeado como ViewfinderView para 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-view foram movidas para o subpacote androidx.camera.viewfinder.view do pacote androidx.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 ViewfinderSurfaceRequest que não processam mais internamente a resposta de superfície. Em vez de retornar ListenableFuture<Surface>, as APIs requestSurfaceSession() agora retornam ListenableFuture<ViewfinderSurfaceSession>, que retorna uma classe AutoCloseable que, quando fechada, se comporta da mesma maneira que chamar a API antiga de ViewfinderSurfaceRequest.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

  • compileSdk atualizado como 35 para usar a API relacionada ao Android 15. Os apps que usam bibliotecas CameraX também precisam atualizar a configuração compileSdk. (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-core foram movidas para pacotes consistentes com a biblioteca a que pertencem. (I431c6)
  • CameraViewfinder.ScaleType foi movido para viewfinder-core para que possa ser reutilizado com o Compose (I87ef1)
  • As classes CameraViewfinder descontinuadas 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-view
  • androidx.camera:camera-viewfinder-compose -> androidx.camera.viewfinder:viewfinder-compose
  • androidx.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.