видоискатель камеры
В этой таблице перечислены все артефакты, входящие в группу androidx.camera-viewfinder .
| Артефакт | Стабильный релиз | Предварительная версия для выпуска | Бета-версия | Альфа-версия |
|---|---|---|---|---|
| композиция видоискателя | 1.5.2 | - | - | 1.6.0-alpha02 |
| ядро видоискателя | 1.5.2 | - | - | 1.6.0-alpha02 |
| видоискатель | 1.5.2 | - | - | 1.6.0-alpha02 |
Объявление зависимостей
Чтобы добавить зависимость от camera-viewfinder, необходимо добавить репозиторий Google Maven в ваш проект. Для получения дополнительной информации ознакомьтесь с информацией в репозитории Google Maven .
Добавьте зависимости для необходимых артефактов в файл build.gradle вашего приложения или модуля:
классный
dependencies { // Use to implement camera viewfinders implementation "androidx.camera.viewfinder:viewfinder-view:1.6.0-alpha02" implementation "androidx.camera.viewfinder:viewfinder-compose:1.6.0-alpha02" implementation "androidx.camera.viewfinder:viewfinder-core:1.6.0-alpha02" }
Котлин
dependencies { // Use to implement camera viewfinders implementation("androidx.camera.viewfinder:viewfinder-view:1.6.0-alpha02") implementation("androidx.camera.viewfinder:viewfinder-core:1.6.0-alpha02") implementation("androidx.camera.viewfinder:viewfinder-compose:1.6.0-alpha02") }
Для получения дополнительной информации о зависимостях см. раздел «Добавление зависимостей сборки» .
Обратная связь
Ваши отзывы помогают улучшить Jetpack. Сообщите нам, если вы обнаружите новые проблемы или у вас есть идеи по улучшению этой библиотеки. Пожалуйста, ознакомьтесь с существующими проблемами в этой библиотеке, прежде чем создавать новую. Вы можете проголосовать за существующую проблему, нажав кнопку со звездочкой.
Для получения более подробной информации см. документацию по системе отслеживания ошибок .
Версия 1.6
Версия 1.6.0-alpha02
17 декабря 2025 г.
Выпущены androidx.camera.viewfinder:viewfinder-compose:1.6.0-alpha02 , androidx.camera.viewfinder:viewfinder-core:1.6.0-alpha02 и androidx.camera.viewfinder:viewfinder-view:1.6.0-alpha02 . Версия 1.6.0-alpha02 содержит следующие коммиты .
Версия 1.6.0-alpha01
22 октября 2025 г.
Выпущены androidx.camera.viewfinder:viewfinder-compose:1.6.0-alpha01 , androidx.camera.viewfinder:viewfinder-core:1.6.0-alpha01 и androidx.camera.viewfinder:viewfinder-view:1.6.0-alpha01 . Версия 1.6.0-alpha01 содержит следующие коммиты .
Изменения в API
- Добавлена возможность
ImplementationModeпо умолчанию для Viewfinder через новый публичный APIViewfinderDefaults.implementationMode. Теперь он используется в качестве значения по умолчанию как дляViewfinderView, так и для составного элементаViewfinder. ( Ic3f52 )
Версия 1.5
Версия 1.5.2
4 декабря 2025 г.
Выпущены androidx.camera.viewfinder:viewfinder-compose:1.5.2 , androidx.camera.viewfinder:viewfinder-core:1.5.2 и androidx.camera.viewfinder:viewfinder-view:1.5.2 . Версия 1.5.2 содержит следующие коммиты .
Версия 1.5.1
8 октября 2025 г.
Выпущены androidx.camera.viewfinder:viewfinder-compose:1.5.1 , androidx.camera.viewfinder:viewfinder-core:1.5.1 и androidx.camera.viewfinder:viewfinder-view:1.5.1 . Версия 1.5.1 содержит следующие коммиты .
Версия 1.5.0
10 сентября 2025 г.
Выпущены androidx.camera.viewfinder:viewfinder-compose:1.5.0 , androidx.camera.viewfinder:viewfinder-core:1.5.0 и androidx.camera.viewfinder:viewfinder-view:1.5.0 . Версия 1.5.0 содержит следующие изменения .
Важные изменения по сравнению с версией 1.4.0:
Это первый стабильный релиз библиотеки Camera Viewfinder, предоставляющей надежные, учитывающие жизненный цикл и простые в использовании API на основе View и Compose. Эти компоненты предназначены для использования в качестве видоискателя камеры и могут быть интегрированы непосредственно с Camera2.
В этом релизе также заложена основа для нового артефакта androidx.camera:camera-compose , который представляет CameraXViewfinder — идиоматический видоискатель Compose, который легко интегрируется с CameraX SurfaceRequest , аналогично тому, как работает PreviewView для макетов на основе View. К числу наиболее важных изменений относятся:
- Перемещение артефактов: Для повышения модульности артефакты Viewfinder были перемещены в отдельную группу библиотек. Разработчикам, ранее использовавшим зависимости
androidx.camera:camera-viewfinder*, следует перейти наandroidx.camera.viewfinder:viewfinder-*. - Стабилизация и доработка API: В этом стабильном релизе API был значительно улучшен. Это включает в себя переименование
CameraViewfinderвViewfinderViewдля лучшего отражения его универсальности, реорганизацию пакетов для большей ясности и присвоениеViewfinderSurfaceRequestстатуса неизменяемого типа данных для более предсказуемого управления состоянием. - Обновления API Compose: API
Viewfinderв Compose теперь поддерживаетContentScaleиAlignmentдля точного управления отображением видеопотока с камеры внутри контейнера, что соответствует поведению стандартного объектаandroidx.compose.foundation.Image. - Управление жизненным циклом поверхности:
ViewfinderSurfaceSessionтеперь остается активным при изменении конфигурации и событиях жизненного цикла в API 29+. Это изменение призвано уменьшить количество пропущенных кадров и обеспечить более плавную работу пользователя. - Настройки режима реализации по умолчанию: Теперь
Viewfinderпо умолчанию использует интеллектуальныйImplementationMode, который автоматически выбирает наилучшую базовую реализацию. Он отдает приоритет высокопроизводительномуSurfaceView(режимEXTERNAL) и корректно переключается на более совместимыйTextureView(режимEMBEDDED) на более старых уровнях API или устройствах с известными проблемами совместимости. Это поведение по-прежнему можно изменить для полного контроля со стороны разработчика.
Исправлены ошибки
- Теперь компонент
Viewfinderкорректно работает вPagerкомпонента Compose и сmovableContentOf(), обеспечивая правильный сброс и управление поверхностью в сложных сценариях пользовательского интерфейса. ( I0d9be , I79432 ) - Исправлена ошибка в Android 10 и 11, из-за которой
Viewfinderна основеSurfaceViewмог выглядеть растянутым при применении преобразований. ( Icc77c )
Версия 1.5.0-rc01
13 августа 2025 г.
Выпущены коммиты androidx.camera.viewfinder:viewfinder-compose:1.5.0-rc01 , androidx.camera.viewfinder:viewfinder-core:1.5.0-rc01 и androidx.camera.viewfinder:viewfinder-view:1.5.0-rc01 . Версия 1.5.0-rc01 содержит следующие коммиты .
Исправлены ошибки
- Перенос
minSdkпо умолчанию с API 21 на API 23 ( Ibdfca , b/380448311 , b/435705964 , b/435705223 )
Версия 1.5.0-beta03
16 июля 2025 г.
Выпущены androidx.camera.viewfinder:viewfinder-compose:1.5.0-beta03 , androidx.camera.viewfinder:viewfinder-core:1.5.0-beta03 и androidx.camera.viewfinder:viewfinder-view:1.5.0-beta03 . Версия 1.5.0-beta03 содержит следующие коммиты .
Исправлены ошибки
- В настоящее время в
Viewfinder(как в режиме Compose, так и в режиме View-based) по умолчанию автоматически выбираетсяImplementationModeмеждуEXTERNAL(для повышения производительности) иEMBEDDED(для совместимости со старыми API/нестандартными устройствами). Это поведение по-прежнему можно переопределить с помощью явных настроек вViewfinderSurfaceRequestили XML-атрибутах (в API View-based). ( Iecd3a ) - Улучшено управление сессиями поверхностей за счет сохранения активности
ViewfinderSurfaceSessionна протяжении всего жизненного цикла создания/уничтожения поверхности при использовании TextureView или SurfaceView в API 29+. ( I112d9 ) - Теперь
Viewfinderгарантирует освобождение поверхностей в нужное время, только когда они больше не используются сессией, а не всегда при удалении объекта Composable. ДляEXTERNAL(SurfaceView) это поведение в настоящее время доступно только в API 29+. ДляEMBEDDED(TextureView) это поведение присутствует на всех уровнях API. ( I9a03f ) - Теперь
Viewfinderкорректно обрабатывает замену поверхности в таких сценариях, как перемещениеEXTERNALвидоискателя на уровне API 28 или ниже за пределы экрана или еслиViewfinder(с любымImplementationMode) является частьюmoveableContentOf(). ( I79432 ) - Теперь Composable
Viewfinderкорректно работает сPagerиз Compose. Это изменение гарантирует успешный сброс Composable путем реализации коллбэкаonResetизAndroidView, поддерживающего какEMBEDDED, так иEXTERNALреализации. ( I0d9be ) - Исправлена ошибка в Android 10/11, из-за которой
EXTERNALViewfinderмог отображаться растянутым или некорректным из-за слишком раннего применения операций преобразования (таких как масштабирование или перемещение). Теперь система ожидает создания поверхности, прежде чем применять эти преобразования на этапе компоновки, обеспечивая корректный вывод. ( Icc77c )
Версия 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 содержит следующие коммиты .
- Это первый официальный бета-релиз видоискателей на основе представлений и композиций, достаточно гибких для использования с Camera2. Если вам нужен вид или композиция для использования с CameraX, см.
PreviewViewиCameraXViewfinder.
Новые функции
- Теперь в Viewfinder, созданном с помощью Compose, можно использовать
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 ) - В Viewfinder, управляемый через представление, добавлены новые API, позволяющие задавать поворот источника, зеркальное отображение и прямоугольник обрезки. Этот класс
TransformationInfo— тот же класс, который используется в Viewfinder, управляемом через композицию. ( I907c3 ) - Теперь Viewfinder, управляемый видом, использует новые API
ViewfinderSurfaceRequest, которые больше не обрабатывают ответ от поверхности внутри себя. Вместо возвратаListenableFuture<Surface>, APIrequestSurfaceSession()теперь возвращаютListenableFuture<ViewfinderSurfaceSession>, который возвращает классAutoCloseable, который при закрытии ведет себя так же, как вызов старого APIViewfinderSurfaceRequest.markSurfaceSafeToRelease(). Это обеспечивает более четкое разделение обязанностей между запросом к поверхности и ответом от поверхности. ( I19041 )
Версия 1.4
Версия 1.4.0-alpha13
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-alpha12
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 ) - В этой библиотеке теперь используются аннотации JSpecify для проверки на null , которые относятся к использованию типов. Разработчикам Kotlin следует использовать следующий аргумент компилятора для обеспечения корректного использования:
-Xjspecify-annotations=strict(это значение по умолчанию, начиная с версии 2.1.0 компилятора Kotlin). ( I7bcd7 , b/326456246 )
Версия 1.4.0-alpha11
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-alpha10
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-alpha09
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-alpha08
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, в альфа-версии: androidx.camera:camera-compose . Она предоставляет компонент CameraXViewfinder , который представляет собой Viewfinder, идиоматический для Compose, адаптирующий SurfaceRequest из CameraX к Compose, аналогично тому, как работает PreviewView для представлений.