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

Автономный составной видоискатель для камеры с возможностью просмотра

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

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

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

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

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

классный

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"

}

Котлин

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")


}

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

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

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

Создать новую задачу

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

Версия 1.5

Версия 1.5.0-бета01

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 содержит эти коммиты .

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

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

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

Изменения API

  • TransformationInfo теперь имеет значения по умолчанию для всех аргументов. Это позволит создавать видоискатели без какого-либо TransformationInfo , который по умолчанию будет иметь вращение источника, равное 0, без зеркального отображения источника и без прямоугольника обрезки. ( I2b1b2 )
  • Composable Viewfinder теперь использует завершающую лямбду для получения сеанса Surface, аналогично AndroidExternalSurface . Предоставленная лямбда-выражение использует ViewfinderInitScope в качестве приемника, что позволяет установить обратный вызов для получения новых сеансов Surface. Эти поверхностные сеансы автоматически освобождают ресурсы, хранящиеся в видоискателе, когда они выходят за пределы области действия. ( Ib2b0d )
  • ViewfinderSurfaceRequest.Builder.populateFromCharacteristics теперь удален и заменен эквивалентным набором статических API, которые можно использовать для создания TransformationInfo , который будет производить то же преобразование, что и populateFromCharacteristics . Эти статические методы добавляются в класс Camera2TransformationInfo . ( Idc6af )
  • ViewfinderSurfaceRequest больше не включает асинхронные API для получения поверхности. Теперь это неизменяемый тип данных. API для извлечения Surface теперь перенесены в видоискатель. ( I30127 )
  • CameraViewfinder был переименован в ViewfinderView , чтобы имя соответствовало названию составного видоискателя и чтобы указать, что его можно использовать не только с источниками камеры. ( Id9e6b )
  • Классы из viewfinder-view были перенесены в подпакет androidx.camera.viewfinder.view из пакета androidx.camera.viewfinder . ( I6cb44 )
  • В видоискатель на основе просмотра добавлены новые API, которые позволяют настраивать вращение источника, зеркальное отображение и прямоугольник обрезки. Этот класс TransformationInfo — это тот же класс, который используется видоискателем на основе композиции. ( I907c3 )
  • Видоискатель на основе представлений теперь использует новые API-интерфейсы ViewfinderSurfaceRequest , которые больше не обрабатывают ответ Surface внутри себя. Вместо возврата ListenableFuture<Surface> API-интерфейсы requestSurfaceSession() теперь возвращают ListenableFuture<ViewfinderSurfaceSession> , который возвращает класс 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 )
  • Эта библиотека теперь использует аннотации NULL NULL JSpecify , которые являются типизированными. Разработчики Kotlin должны использовать следующий аргумент компилятора для обеспечения правильного использования: -Xjspecify-annotations=strict (это значение по умолчанию, начиная с версии 2.1.0 компилятора Kotlin). ( I7bcd7 , б/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 чтобы его можно было повторно использовать при составлении ( 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 был перенесен в отдельную группу библиотек. Это изменение необходимо для улучшения модульности и удобства обслуживания библиотеки 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

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

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