wizjer aparatu,
Ta tabela zawiera listę wszystkich artefaktów w grupie androidx.camera-viewfinder
.
Artefakt | Wersja stabilna | Wersja kandydująca do publikacji | Wersja Beta | Wersja alfa |
---|---|---|---|---|
wizjer-kompozycja | - | - | 1.5.0-beta03 | 1.4.0-alpha13 |
viewfinder-core | - | - | 1.5.0-beta03 | 1.4.0-alpha13 |
widok z wizjera, | - | - | 1.5.0-beta03 | 1.4.0-alpha13 |
Deklarowanie zależności
Aby dodać zależność od biblioteki camera-viewfinder, musisz dodać repozytorium Google Maven do projektu. Więcej informacji znajdziesz w repozytorium Maven Google.
Dodaj zależności dotyczące potrzebnych artefaktów w pliku build.gradle
aplikacji lub modułu:
Groovy
dependencies { // Use to implement camera viewfinders implementation "androidx.camera.viewfinder:viewfinder-view:1.5.0-beta03" implementation "androidx.camera.viewfinder:viewfinder-compose:1.5.0-beta03" implementation "androidx.camera.viewfinder:viewfinder-core:1.5.0-beta03" }
Kotlin
dependencies { // Use to implement camera viewfinders implementation("androidx.camera.viewfinder:viewfinder-view:1.5.0-beta03") implementation("androidx.camera.viewfinder:viewfinder-core:1.5.0-beta03") implementation("androidx.camera.viewfinder:viewfinder-compose:1.5.0-beta03") }
Więcej informacji o zależnościach znajdziesz w artykule Dodawanie zależności kompilacji.
Opinia
Twoja opinia pomoże nam ulepszyć Jetpacka. Jeśli odkryjesz nowe problemy lub masz pomysły na ulepszenie tej biblioteki, daj nam znać. Zanim utworzysz nową kartę, zapoznaj się z dotychczasowymi problemami w tej bibliotece. Możesz dodać swój głos do istniejącego problemu, klikając przycisk gwiazdki.
Więcej informacji znajdziesz w dokumentacji narzędzia Issue Tracker.
Wersja 1.5
Wersja 1.5.0-beta03
16 lipca 2025 r.
androidx.camera.viewfinder:viewfinder-compose:1.5.0-beta03
, androidx.camera.viewfinder:viewfinder-core:1.5.0-beta03
i androidx.camera.viewfinder:viewfinder-view:1.5.0-beta03
są zwalniane. Wersja 1.5.0-beta03 zawiera te zmiany.
Poprawki błędów
- Domyślny
ImplementationMode
dlaViewfinder
(zarówno w przypadku komponentów Compose, jak i opartych na widokach) inteligentnie wybiera teraz międzyEXTERNAL
(dla wydajności) aEMBEDDED
(dla zgodności ze starszymi interfejsami API i nietypowymi urządzeniami). Ten sposób działania można nadal zastąpić za pomocą wyraźnych ustawień wViewfinderSurfaceRequest
lub atrybutów XML (w interfejsie View-based API). (Iecd3a) - Ulepszone zarządzanie sesjami Surface dzięki możliwości utrzymywania
ViewfinderSurfaceSession
przy życiu w cyklach życia tworzenia i usuwania powierzchni podczas korzystania z TextureView lub SurfaceView w API 29 lub nowszym. (I112d9) Viewfinder
zapewnia teraz, że elementy Surface są zwalniane we właściwym czasie, tylko wtedy, gdy nie są już używane w sesji, a nie zawsze po usunięciu elementu Composable. W przypadkuEXTERNAL
(SurfaceView
) to zachowanie jest obecnie dostępne tylko w interfejsie API w wersji 29 lub nowszej. W przypadkuEMBEDDED
(TextureView
) to zachowanie jest dostępne na wszystkich poziomach interfejsu API. (I9a03f)Viewfinder
teraz prawidłowo obsługuje zastępowanie powierzchni w sytuacjach, takich jak przeniesienieEXTERNAL
wizjera na API na poziomie 28 lub niższym poza ekran lub gdyViewfinder
(z dowolnymImplementationMode
) jest częściąmoveableContentOf()
. (I79432)- Funkcja Composable
Viewfinder
działa teraz prawidłowo z funkcjąPager
w Compose. Ta zmiana zapewnia możliwość prawidłowego zresetowania komponentu kompozycyjnego przez zaimplementowanie wywołania zwrotnegoonReset
funkcjiAndroidView
, które obsługuje implementacjeEMBEDDED
iEXTERNAL
. (I0d9be) - Rozwiązuje problem na Androidzie 10/11, w którym ikona
EXTERNAL
Viewfinder
mogła być rozciągnięta lub nieprawidłowa z powodu zbyt wczesnego zastosowania operacji przekształcenia (takich jak skalowanie lub przesuwanie). System czeka teraz na utworzenie obiektu Surface, zanim zastosuje te przekształcenia w fazie układu, co zapewnia prawidłowe dane wyjściowe. (Icc77c)
Wersja 1.5.0-beta02
4 czerwca 2025 r.
androidx.camera.viewfinder:viewfinder-compose:1.5.0-beta02
, androidx.camera.viewfinder:viewfinder-core:1.5.0-beta02
i androidx.camera.viewfinder:viewfinder-view:1.5.0-beta02
są zwalniane. Wersja 1.5.0-beta02 zawiera te zmiany.
Wersja 1.5.0-beta01
7 maja 2025 r.
androidx.camera.viewfinder:viewfinder-compose:1.5.0-beta01
, androidx.camera.viewfinder:viewfinder-core:1.5.0-beta01
i androidx.camera.viewfinder:viewfinder-view:1.5.0-beta01
są zwalniane. Wersja 1.5.0-beta01 zawiera te zmiany.
- To pierwsza oficjalna wersja beta wizjerów opartych na widokach i kompozycjach, które są wystarczająco elastyczne, aby można ich było używać z interfejsem Camera2. Jeśli szukasz widoku lub komponentu do użycia z CameraX, zapoznaj się z artykułami
PreviewView
iCameraXViewfinder
.
Nowe funkcje
- Funkcje
ContentScale
iAlignment
można teraz stosować w wizjerze opartym na komponowaniu, aby skalować i umieszczać wyświetlaną powierzchnię w kontenerze, podobnie jak w przypadku funkcjiandroidx.compose.foundation.Image
. (Ibcea3)
Zmiany w interfejsie API
TransformationInfo
ma teraz wartości domyślne dla wszystkich argumentów. Umożliwi to tworzenie wyszukiwarek bez żadnychTransformationInfo
, które domyślnie będą miały obrót źródła o 0, bez odzwierciedlania źródła i bez prostokąta przycinania. (I2b1b2)- Komponent Composable Viewfinder przyjmuje teraz lambdę końcową, aby otrzymywać sesję Surface, podobnie jak
AndroidExternalSurface
. Podana funkcja lambda używaViewfinderInitScope
jako odbiorcy, co umożliwia zainstalowanie wywołania zwrotnego w celu otrzymywania nowych sesji Surface. Sesje te automatycznie zwalniają zasoby zajmowane przez wizjer, gdy wychodzą poza zakres. (Ib2b0d) ViewfinderSurfaceRequest.Builder.populateFromCharacteristics
został usunięty i zastąpiony równoważnym zestawem statycznych interfejsów API, których można używać do generowaniaTransformationInfo
, co daje taką samą transformację jakpopulateFromCharacteristics
. Te metody statyczne są dodawane do klasyCamera2TransformationInfo
. (Idc6af)ViewfinderSurfaceRequest
nie obejmuje już asynchronicznych interfejsów API do pobierania platformy. Jest to teraz niezmienny typ danych. Interfejsy API do pobierania powierzchni zostały przeniesione do wizjera. (I30127)CameraViewfinder
zmieniono naViewfinderView
, aby nazwa była zgodna z nazwą komponentu Viewfinder i wskazywała, że można go używać nie tylko ze źródłami z kamery. (Id9e6b)- Klasy z pakietu
viewfinder-view
zostały przeniesione do podpakietuandroidx.camera.viewfinder.view
z pakietuandroidx.camera.viewfinder
. (I6cb44) - Do funkcji Viewfinder opartej na widoku dodano nowe interfejsy API, które umożliwiają ustawianie obrotu źródła, dublowania i prostokąta przycinania. Ta klasa
TransformationInfo
jest taka sama jak klasa używana przez wyszukiwarkę opartą na Compose. (I907c3) - Wizjer oparty na widoku korzysta teraz z nowych interfejsów API
ViewfinderSurfaceRequest
, które nie obsługują już wewnętrznie odpowiedzi Surface. Zamiast zwracaćListenableFuture<Surface>
, interfejsy APIrequestSurfaceSession()
zwracają terazListenableFuture<ViewfinderSurfaceSession>
, które zwraca klasęAutoCloseable
, która po zamknięciu działa tak samo jak wywołanie starego interfejsu APIViewfinderSurfaceRequest.markSurfaceSafeToRelease()
. Dzięki temu wyraźniej rozdzielamy obowiązki związane z żądaniem interfejsu i odpowiedzią interfejsu. (I19041)
Wersja 1.4
Wersja 1.4.0-alpha13
26 lutego 2025 r.
androidx.camera.viewfinder:viewfinder-compose:1.4.0-alpha13
, androidx.camera.viewfinder:viewfinder-core:1.4.0-alpha13
i androidx.camera.viewfinder:viewfinder-view:1.4.0-alpha13
są zwalniane. Wersja 1.4.0-alpha13 zawiera te zmiany.
Wersja 1.4.0-alpha12
15 stycznia 2025 r.
androidx.camera.viewfinder:viewfinder-compose:1.4.0-alpha12
, androidx.camera.viewfinder:viewfinder-core:1.4.0-alpha12
i androidx.camera.viewfinder:viewfinder-view:1.4.0-alpha12
są zwalniane. Wersja 1.4.0-alpha12 zawiera te zmiany.
Nowe funkcje
- Zaktualizowano
compileSdk
do 35 na potrzeby korzystania z interfejsu API związanego z Androidem 15. Aplikacje korzystające z bibliotek CameraX będą też musiały uaktualnić ustawienie konfiguracjicompileSdk
. (Ic80cd) - Ta biblioteka używa teraz adnotacji o wartości null JSpecify, które są używane w typach. Deweloperzy korzystający z języka Kotlin powinni używać tego argumentu kompilatora, aby wymusić prawidłowe użycie:
-Xjspecify-annotations=strict
(jest to domyślne ustawienie od wersji 2.1.0 kompilatora Kotlin). (I7bcd7, b/326456246)
Wersja 1.4.0-alpha11
11 grudnia 2024 r.
androidx.camera.viewfinder:viewfinder-compose:1.4.0-alpha11
, androidx.camera.viewfinder:viewfinder-core:1.4.0-alpha11
i androidx.camera.viewfinder:viewfinder-view:1.4.0-alpha11
są zwalniane. Wersja 1.4.0-alpha11 zawiera te zmiany.
Zmiany w interfejsie API
- Klasy
viewfinder-core
zostały przeniesione do pakietów zgodnych z biblioteką, do której należą. (I431c6) CameraViewfinder.ScaleType
zostało przeniesione doviewfinder-core
, aby można było go ponownie użyć w komponowaniu (I87ef1)- Wycofane klasy
CameraViewfinder
są usuwane. Używaj nowych interfejsów API, które zapewniają równoważną funkcjonalność. (I6e59a)
Wersja 1.4.0-alpha10
30 października 2024 r.
androidx.camera.viewfinder:viewfinder-compose:1.4.0-alpha10
, androidx.camera.viewfinder:viewfinder-core:1.4.0-alpha10
i androidx.camera.viewfinder:viewfinder-view:1.4.0-alpha10
są zwalniane. Wersja 1.4.0-alpha10 zawiera te zmiany.
Wersja 1.4.0-alpha09
2 października 2024 r.
androidx.camera.viewfinder:viewfinder-compose:1.4.0-alpha09
, androidx.camera.viewfinder:viewfinder-core:1.4.0-alpha09
i androidx.camera.viewfinder:viewfinder-view:1.4.0-alpha09
są zwalniane. Wersja 1.4.0-alpha09 zawiera te zmiany.
Wersja 1.4.0-alpha08
4 września 2024 r.
androidx.camera.viewfinder:viewfinder-compose:1.4.0-alpha08
, androidx.camera.viewfinder:viewfinder-core:1.4.0-alpha08
i androidx.camera.viewfinder:viewfinder-view:1.4.0-alpha08
są zwalniane. Wersja 1.4.0-alpha08 zawiera te zmiany.
Nowe funkcje
W wersji 1.4.0-alpha08 artefakt wizjera CameraX został przeniesiony do własnej grupy bibliotek. Ta zmiana jest konieczna, aby zwiększyć modułowość i łatwość utrzymania biblioteki CameraX.
Jeśli wcześniej korzystałeś(-aś) z androidx.camera:camera-viewfinder
, androidx.camera:camera-viewfinder-compose
lub androidx.camera:camera-viewfinder-core
, musisz przenieść zależności na te usługi:
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
Wprowadzenie tej zmiany nie powinno wymagać żadnych zmian w kodzie. Stare współrzędne Maven narzędzia Viewfinder nie będą już aktualizowane.
Jeśli używasz Compose z CameraX, nowa biblioteka Compose-first jest teraz dostępna w wersji alfa: androidx.camera:camera-compose
. Zapewnia to CameraXViewfinder
, czyli widok w stylu Compose, który dostosowuje SurfaceRequest
CameraX do Compose, podobnie jak PreviewView
działa w przypadku widoków.