visor da câmera

  
Visor combinável independente e 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.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
Esta biblioteca foi atualizada pela última vez em 7 de maio de 2025

Declarar dependências

Para adicionar uma dependência ao camera-viewfinder, adicione 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.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")


}

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.5

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 estas confirmações.

  • Esta é a primeira versão Beta oficial dos visores baseados em visualização e em composição que são flexíveis o suficiente para serem usados com a Camera2. Se você estiver procurando uma visualização ou um elemento combinável para usar com a CameraX, consulte PreviewView e CameraXViewfinder.

Novos recursos

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

Mudanças na API

  • O TransformationInfo agora tem valores padrão para todos os argumentos. Isso permite que os visores sejam criados sem TransformationInfo, que vai usar uma rotação de origem padrão 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 da plataforma. 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 vai 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 plataforma. 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 o nome se alinhe ao nome 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 foram adicionadas ao Viewfinder 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 composição. (I907c3).
  • O Viewfinder baseado em visualização agora usa novas APIs ViewfinderSurfaceRequest, que não processam mais internamente a resposta da plataforma. 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 forma que a chamada da API antiga de ViewfinderSurfaceRequest.markSurfaceSafeToRelease(). Isso proporciona uma separação mais clara das responsabilidades entre a solicitação e a resposta da 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 estas confirmações.

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 estas confirmações.

Novos recursos

  • O compileSdk foi atualizado para 35 para usar a API relacionada ao Android 15. Os apps que usam as bibliotecas do 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 (este é 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 estas confirmações.

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 estas confirmações.

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 estas confirmações.

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 estas confirmações.

Novos recursos

Com a atualização para 1.4.0-alpha08, o artefato do visor da CameraX foi movido para o próprio grupo de biblioteca. Essa mudança é necessária para melhorar a modularidade e a manutenção da biblioteca CameraX.

Se você dependia de androidx.camera:camera-viewfinder, androidx.camera:camera-viewfinder-compose ou androidx.camera:camera-viewfinder-core, vai precisar 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

Não é preciso mudar o código para fazer essa transição. As coordenadas antigas do Maven do Viewfinder não vão mais receber atualizações.

Além disso, se você estiver usando o Compose com o CameraX, uma nova biblioteca focada no Compose agora está disponível na versão Alfa: androidx.camera:camera-compose. Isso fornece o elemento combinável CameraXViewfinder, que é um visor de composição com o estilo do Compose que adapta o SurfaceRequest do CameraX ao Compose, de forma semelhante ao funcionamento do PreviewView para visualizações.