видоискатель камеры

Автономный компонуемый и основанный на просмотре видоискатель для камеры"

В этой таблице перечислены все артефакты в группе androidx.camera-viewfinder .

Артефакт Стабильный релиз Кандидат на релиз Бета-релиз Альфа-релиз
видоискатель-композиция - - 1.5.0-бета02 1.4.0-альфа13
видоискатель-ядро - - 1.5.0-бета02 1.4.0-альфа13
видоискатель-вид - - 1.5.0-бета02 1.4.0-альфа13
Последнее обновление этой библиотеки: 4 июня 2025 г.

Объявление зависимостей

Чтобы добавить зависимость от camera-viewfinder, необходимо добавить репозиторий Google Maven в свой проект. Прочтите репозиторий Google Maven для получения дополнительной информации.

Добавьте зависимости для необходимых артефактов в файл build.gradle для вашего приложения или модуля:

классный

dependencies {
    // Use to implement camera viewfinders
    
    implementation "androidx.camera.viewfinder:viewfinder-view:1.5.0-beta02"
    implementation "androidx.camera.viewfinder:viewfinder-compose:1.5.0-beta02"
    implementation "androidx.camera.viewfinder:viewfinder-core:1.5.0-beta02"

}

Котлин

dependencies {
    // Use to implement camera viewfinders
    implementation("androidx.camera.viewfinder:viewfinder-view:1.5.0-beta02")
    implementation("androidx.camera.viewfinder:viewfinder-core:1.5.0-beta02")
    implementation("androidx.camera.viewfinder:viewfinder-compose:1.5.0-beta02")


}

Дополнительную информацию о зависимостях см. в разделе Добавление зависимостей сборки .

Обратная связь

Ваши отзывы помогают сделать Jetpack лучше. Сообщите нам, если вы обнаружите новые проблемы или у вас есть идеи по улучшению этой библиотеки. Пожалуйста, ознакомьтесь с существующими проблемами в этой библиотеке, прежде чем создавать новую. Вы можете добавить свой голос к существующей проблеме, нажав кнопку со звездочкой.

Создать новый выпуск

Более подробную информацию смотрите в документации Issue Tracker .

Версия 1.5

Версия 1.5.0-beta02

4 июня 2025 г.

Выпущены androidx.camera.viewfinder:viewfinder-compose:1.5.0-beta02 , androidx.camera.viewfinder:viewfinder-core:1.5.0-beta02 и androidx.camera.viewfinder:viewfinder-view:1.5.0-beta02 . Версия 1.5.0-beta02 содержит эти коммиты .

Версия 1.5.0-beta01

7 мая 2025 г.

Выпущены androidx.camera.viewfinder:viewfinder-compose:1.5.0-beta01 , androidx.camera.viewfinder:viewfinder-core:1.5.0-beta01 и androidx.camera.viewfinder:viewfinder-view:1.5.0-beta01 . Версия 1.5.0-beta01 содержит эти коммиты .

  • Это первый официальный бета-релиз видоискателей на основе view и compose, которые достаточно гибки для использования с Camera2. Если вы ищете View или composable для использования с CameraX, см. PreviewView и CameraXViewfinder .

Новые возможности

  • ContentScale и Alignment теперь можно использовать в видоискателе на основе компоновки для масштабирования и размещения отображаемой поверхности в ее контейнере, аналогично тому, как ведет себя androidx.compose.foundation.Image . ( Ibcea3 )

Изменения API

  • TransformationInfo теперь имеет значения по умолчанию для всех аргументов. Это позволит создавать видоискатели без TransformationInfo , которые по умолчанию будут иметь исходный поворот 0, без зеркалирования источника и без обрезки прямоугольника. ( I2b1b2 )
  • Composable Viewfinder теперь принимает завершающую лямбду для получения сеанса Surface, аналогично AndroidExternalSurface . Предоставленная лямбда использует ViewfinderInitScope в качестве приемника, что позволяет устанавливать обратный вызов для получения новых сеансов Surface. Эти сеансы Surface автоматически освобождают ресурсы, удерживаемые Viewfinder, когда они выходят из области действия. ( Ib2b0d )
  • ViewfinderSurfaceRequest.Builder.populateFromCharacteristics теперь удален и заменен эквивалентным набором статических API, которые можно использовать для генерации TransformationInfo , что произведет ту же трансформацию, что и populateFromCharacteristics . Эти статические методы добавлены в класс Camera2TransformationInfo . ( Idc6af )
  • ViewfinderSurfaceRequest больше не включает асинхронные API для получения поверхности. Теперь это неизменяемый тип данных. API для получения поверхности теперь перемещены в видоискатель. ( I30127 )
  • CameraViewfinder переименован в ViewfinderView , чтобы название соответствовало названию компонуемого Viewfinder и чтобы указать, что его можно использовать не только с источниками камеры. ( Id9e6b )
  • Классы из viewfinder-view были перемещены в подпакет androidx.camera.viewfinder.view из пакета androidx.camera.viewfinder . ( I6cb44 )
  • В View-based Viewfinder добавлены новые API, которые позволяют устанавливать вращение источника, зеркалирование и прямоугольник обрезки. Этот класс TransformationInfo — тот же класс, который используется Compose-based Viewfinder. ( I907c3 )
  • View-based Viewfinder теперь использует новые API ViewfinderSurfaceRequest , которые больше не обрабатывают ответ Surface. Вместо возврата ListenableFuture API requestSurfaceSession() теперь возвращают ListenableFuture , который возвращает класс AutoCloseable , который при закрытии ведет себя так же, как вызов старого API ViewfinderSurfaceRequest.markSurfaceSafeToRelease() . Это обеспечивает более четкое разделение обязанностей между запросом поверхности и ответом поверхности. ( I19041 )

Версия 1.4

Версия 1.4.0-альфа13

26 февраля 2025 г.

Выпущены androidx.camera.viewfinder:viewfinder-compose:1.4.0-alpha13 , androidx.camera.viewfinder:viewfinder-core:1.4.0-alpha13 и androidx.camera.viewfinder:viewfinder-view:1.4.0-alpha13 . Версия 1.4.0-alpha13 содержит эти коммиты .

Версия 1.4.0-альфа12

15 января 2025 г.

Выпущены androidx.camera.viewfinder:viewfinder-compose:1.4.0-alpha12 , androidx.camera.viewfinder:viewfinder-core:1.4.0-alpha12 и androidx.camera.viewfinder:viewfinder-view:1.4.0-alpha12 . Версия 1.4.0-alpha12 содержит эти коммиты .

Новые возможности

  • Обновлен compileSdk до версии 35 для использования API, связанного с Android 15. Приложениям, использующим библиотеки CameraX, также потребуется обновить настройки конфигурации compileSdk . ( Ic80cd )
  • Эта библиотека теперь использует аннотации nullness JSpecify , которые являются type-use. Разработчики Kotlin должны использовать следующий аргумент компилятора для обеспечения правильного использования: -Xjspecify-annotations=strict (это значение по умолчанию, начиная с версии 2.1.0 компилятора Kotlin). ( I7bcd7 , b/326456246 )

Версия 1.4.0-альфа11

11 декабря 2024 г.

Выпущены androidx.camera.viewfinder:viewfinder-compose:1.4.0-alpha11 , androidx.camera.viewfinder:viewfinder-core:1.4.0-alpha11 и androidx.camera.viewfinder:viewfinder-view:1.4.0-alpha11 . Версия 1.4.0-alpha11 содержит эти коммиты .

Изменения API

  • Классы viewfinder-core были перемещены в пакеты, соответствующие библиотеке, к которой они принадлежат. ( I431c6 )
  • CameraViewfinder.ScaleType был перемещен в viewfinder-core , чтобы его можно было повторно использовать с помощью compose ( I87ef1 )
  • Устаревшие классы CameraViewfinder удалены. Пожалуйста, используйте новые API, которые предоставляют эквивалентную функциональность. ( I6e59a )

Версия 1.4.0-альфа10

30 октября 2024 г.

Выпущены androidx.camera.viewfinder:viewfinder-compose:1.4.0-alpha10 , androidx.camera.viewfinder:viewfinder-core:1.4.0-alpha10 и androidx.camera.viewfinder:viewfinder-view:1.4.0-alpha10 . Версия 1.4.0-alpha10 содержит эти коммиты .

Версия 1.4.0-альфа09

2 октября 2024 г.

Выпущены androidx.camera.viewfinder:viewfinder-compose:1.4.0-alpha09 , androidx.camera.viewfinder:viewfinder-core:1.4.0-alpha09 и androidx.camera.viewfinder:viewfinder-view:1.4.0-alpha09 . Версия 1.4.0-alpha09 содержит эти коммиты .

Версия 1.4.0-альфа08

4 сентября 2024 г.

Выпущены androidx.camera.viewfinder:viewfinder-compose:1.4.0-alpha08 , androidx.camera.viewfinder:viewfinder-core:1.4.0-alpha08 и androidx.camera.viewfinder:viewfinder-view:1.4.0-alpha08 . Версия 1.4.0-alpha08 содержит эти коммиты .

Новые возможности

С обновлением до 1.4.0-alpha08 артефакт CameraX Viewfinder был перемещен в собственную библиотечную группу. Это изменение необходимо для улучшения модульности и удобства обслуживания библиотеки CameraX.

Если ранее вы зависели от androidx.camera:camera-viewfinder , androidx.camera:camera-viewfinder-compose или androidx.camera:camera-viewfinder-core , вам необходимо перевести свои зависимости на следующие:

  • 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

Для этого перехода не требуется никаких изменений кода. Старые координаты Viewfinder maven больше не будут получать обновления.

Кроме того, если вы используете Compose с CameraX, новая библиотека Compose-first теперь доступна в альфа-версии: androidx.camera:camera-compose . Она предоставляет CameraXViewfinder composable, который является идиоматическим видоискателем, который адаптирует SurfaceRequest CameraX к Compose, аналогично тому, как PreviewView работает для видов.