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.6.1 | - | - | 1.7.0-alpha01 |
| viewfinder-core | 1.6.1 | - | - | 1.7.0-alpha01 |
| widok z wizjera | 1.6.1 | - | - | 1.7.0-alpha01 |
Deklarowanie zależności
Aby dodać zależność od biblioteki camera-viewfinder, musisz dodać do projektu repozytorium Maven Google. Więcej informacji znajdziesz w artykule 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.7.0-alpha01" implementation "androidx.camera.viewfinder:viewfinder-compose:1.7.0-alpha01" implementation "androidx.camera.viewfinder:viewfinder-core:1.7.0-alpha01" }
Kotlin
dependencies { // Use to implement camera viewfinders implementation("androidx.camera.viewfinder:viewfinder-view:1.7.0-alpha01") implementation("androidx.camera.viewfinder:viewfinder-core:1.7.0-alpha01") implementation("androidx.camera.viewfinder:viewfinder-compose:1.7.0-alpha01") }
Więcej informacji o zależnościach znajdziesz w artykule Dodawanie zależności kompilacji.
Prześlij opinię
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 nowy problem, zapoznaj się z dotychczasowymi problemami w tej bibliotece. Możesz oddać głos na istniejący problem, klikając przycisk gwiazdki.
Więcej informacji znajdziesz w dokumentacji narzędzia Issue Tracker.
Wersja 1.7
Wersja 1.7.0-alpha01
11 marca 2026 r.
androidx.camera.viewfinder:viewfinder-compose:1.7.0-alpha01, androidx.camera.viewfinder:viewfinder-core:1.7.0-alpha01 i androidx.camera.viewfinder:viewfinder-view:1.7.0-alpha01 są zwalniane. Wersja 1.7.0-alpha01 zawiera te zmiany.
Wersja 1.6
Wersja 1.6.1
6 maja 2026 r.
androidx.camera.viewfinder:viewfinder-compose:1.6.1, androidx.camera.viewfinder:viewfinder-core:1.6.1 i androidx.camera.viewfinder:viewfinder-view:1.6.1 są zwalniane. Wersja 1.6.1 zawiera te zmiany.
Wersja 1.6.0
25 marca 2026 r.
androidx.camera.viewfinder:viewfinder-compose:1.6.0, androidx.camera.viewfinder:viewfinder-core:1.6.0 i androidx.camera.viewfinder:viewfinder-view:1.6.0 są zwalniane. Wersja 1.6.0 zawiera te zmiany.
Ważne zmiany od wersji 1.5.0:
- Udostępniliśmy domyślny wizjer
ImplementationModeza pomocą nowego publicznego interfejsu APIViewfinderDefaults.implementationMode. Jest to teraz domyślna wartość zarówno w przypadku funkcjiViewfinderView, jak i funkcjiViewfinder. (Ic3f52)
Wersja 1.6.0-rc01
25 lutego 2026 r.
androidx.camera.viewfinder:viewfinder-compose:1.6.0-rc01, androidx.camera.viewfinder:viewfinder-core:1.6.0-rc01 i androidx.camera.viewfinder:viewfinder-view:1.6.0-rc01 są zwalniane. Wersja 1.6.0-rc01 zawiera te zmiany.
Wersja 1.6.0-beta02
11 lutego 2026 r.
androidx.camera.viewfinder:viewfinder-compose:1.6.0-beta02, androidx.camera.viewfinder:viewfinder-core:1.6.0-beta02 i androidx.camera.viewfinder:viewfinder-view:1.6.0-beta02 są zwalniane. Wersja 1.6.0-beta02 zawiera te zmiany.
Wersja 1.6.0-beta01
28 stycznia 2026 r.
androidx.camera.viewfinder:viewfinder-compose:1.6.0-beta01, androidx.camera.viewfinder:viewfinder-core:1.6.0-beta01 i androidx.camera.viewfinder:viewfinder-view:1.6.0-beta01 są zwalniane. Wersja 1.6.0-beta01 zawiera te zmiany.
Wersja 1.6.0-alpha02
17 grudnia 2025 r.
androidx.camera.viewfinder:viewfinder-compose:1.6.0-alpha02, androidx.camera.viewfinder:viewfinder-core:1.6.0-alpha02 i androidx.camera.viewfinder:viewfinder-view:1.6.0-alpha02 są zwalniane. Wersja 1.6.0-alpha02 zawiera te zmiany.
Wersja 1.6.0-alpha01
22 października 2025 r.
androidx.camera.viewfinder:viewfinder-compose:1.6.0-alpha01, androidx.camera.viewfinder:viewfinder-core:1.6.0-alpha01 i androidx.camera.viewfinder:viewfinder-view:1.6.0-alpha01 są zwalniane. Wersja 1.6.0-alpha01 zawiera te zmiany.
Zmiany w interfejsie API
- Udostępniliśmy domyślny wizjer
ImplementationModeza pomocą nowego publicznego interfejsu APIViewfinderDefaults.implementationMode. Jest ona teraz używana domyślnie zarówno w przypadku funkcjiViewfinderView, jak i komponentuViewfinder. (Ic3f52)
Wersja 1.5
Wersja 1.5.3
28 stycznia 2026 r.
androidx.camera.viewfinder:viewfinder-compose:1.5.3, androidx.camera.viewfinder:viewfinder-core:1.5.3 i androidx.camera.viewfinder:viewfinder-view:1.5.3 są zwalniane. Wersja 1.5.3 zawiera te zmiany.
Wersja 1.5.2
4 grudnia 2025 r.
androidx.camera.viewfinder:viewfinder-compose:1.5.2, androidx.camera.viewfinder:viewfinder-core:1.5.2 i androidx.camera.viewfinder:viewfinder-view:1.5.2 są zwalniane. Wersja 1.5.2 zawiera te zmiany.
Wersja 1.5.1
8 października 2025 r.
androidx.camera.viewfinder:viewfinder-compose:1.5.1, androidx.camera.viewfinder:viewfinder-core:1.5.1 i androidx.camera.viewfinder:viewfinder-view:1.5.1 są zwalniane. Wersja 1.5.1 zawiera te zmiany.
Wersja 1.5.0
10 września 2025 r.
androidx.camera.viewfinder:viewfinder-compose:1.5.0, androidx.camera.viewfinder:viewfinder-core:1.5.0 i androidx.camera.viewfinder:viewfinder-view:1.5.0 są zwalniane. Wersja 1.5.0 zawiera te zmiany.
Ważne zmiany od wersji 1.4.0:
Jest to pierwsza stabilna wersja biblioteki wizjera aparatu, która udostępnia niezawodne, uwzględniające cykl życia i łatwe w użyciu interfejsy API oparte na widokach i komponowaniu. Te komponenty są przeznaczone do pełnienia funkcji wizjera aparatu i można je zintegrować bezpośrednio z Camera2.
Ta wersja stanowi też podstawę nowego artefaktu androidx.camera:camera-compose, który wprowadza CameraXViewfinder, czyli wizjer zgodny z Compose, który bezproblemowo integruje się z SurfaceRequest CameraX, podobnie jak PreviewView w przypadku układów opartych na widokach. Oto niektóre z najważniejszych zmian:
- Przeniesienie artefaktów: aby zwiększyć modułowość, artefakty wizjera zostały przeniesione do własnej grupy bibliotek. Deweloperzy, którzy wcześniej korzystali z zależności
androidx.camera:camera-viewfinder*, powinni przejść naandroidx.camera.viewfinder:viewfinder-*. - Stabilizacja i ulepszenia interfejsu API: w tej stabilnej wersji dopracowaliśmy zestaw interfejsów API. Obejmuje to zmianę nazwy
CameraViewfindernaViewfinderView, aby lepiej odzwierciedlała jego wszechstronność, reorganizację pakietów w celu zwiększenia przejrzystości oraz przekształcenieViewfinderSurfaceRequestw niezmienny typ danych, co ułatwia przewidywalne zarządzanie stanem. - Aktualizacje interfejsu API Compose: interfejs API Compose
Viewfinderobsługuje terazContentScaleiAlignment, co umożliwia precyzyjne kontrolowanie sposobu wyświetlania strumienia z kamery w kontenerze, odzwierciedlając zachowanie standardowego komponentuandroidx.compose.foundation.Image. - Zarządzanie cyklem życia powierzchni:
ViewfinderSurfaceSessionjest teraz utrzymywane przy zmianach konfiguracji i zdarzeniach cyklu życia na interfejsie API w wersji 29 lub nowszej. Ta zmiana ma na celu zmniejszenie liczby pominiętych klatek i zapewnienie płynniejszego działania. - Domyślne tryby implementacji:
Viewfinderma teraz domyślnie inteligentnyImplementationMode, który automatycznie wybiera najlepszą implementację bazową. Priorytetem jest trybSurfaceView(EXTERNAL) o wysokiej wydajności, ale w przypadku starszych poziomów interfejsu API lub urządzeń ze znanymi problemami ze zgodnością przełącza się na bardziej kompatybilny trybTextureView(EMBEDDED). To zachowanie można jednak zastąpić, aby uzyskać pełną kontrolę nad programowaniem.
Poprawki błędów
- Funkcja kompozycyjna
Viewfinderdziała teraz prawidłowo w ramach funkcjiPagerw Compose i z funkcjąmovableContentOf(), co zapewnia prawidłowe resetowanie i zarządzanie powierzchnią w złożonych scenariuszach interfejsu. (I0d9be, I79432) - Rozwiązaliśmy problem na Androidzie 10 i 11, który powodował, że
SurfaceView-basedViewfindermógł być rozciągnięty po zastosowaniu przekształceń. (Icc77c)
Wersja 1.5.0-rc01
13 sierpnia 2025 r.
androidx.camera.viewfinder:viewfinder-compose:1.5.0-rc01, androidx.camera.viewfinder:viewfinder-core:1.5.0-rc01 i androidx.camera.viewfinder:viewfinder-view:1.5.0-rc01 są zwalniane. Wersja 1.5.0-rc01 zawiera te zmiany.
Poprawki błędów
- Przeniesienie domyślnego
minSdkz API 21 do API 23 (Ibdfca, b/380448311, b/435705964, b/435705223)
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ślna wartość
ImplementationModedlaViewfinder(zarówno w przypadku Compose, jak i widoków) 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ń wViewfinderSurfaceRequestlub atrybutów XML (w interfejsie API opartym na widoku). (Iecd3a) - Ulepszone zarządzanie sesjami Surface poprzez umożliwienie utrzymywania
ViewfinderSurfaceSessionprzy życiu w cyklach życia tworzenia/niszczenia powierzchni podczas korzystania z TextureView lub SurfaceView w API 29 lub nowszym. (I112d9) Viewfinderzapewnia teraz, że obiekty 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)Viewfinderteraz prawidłowo obsługuje zastępowanie powierzchni w sytuacjach takich jak przeniesienieEXTERNALwizjera na poziomie API 28 lub niższym poza ekran lub gdyViewfinder(z dowolnymImplementationMode) jest częściąmoveableContentOf(). (I79432)- Funkcja
Viewfinderdziała teraz prawidłowo z funkcjąPagerw Compose. Ta zmiana zapewnia możliwość prawidłowego zresetowania komponentu kompozycyjnego przez zaimplementowanie wywołania zwrotnegoonResetfunkcjiAndroidView, które obsługuje implementacjeEMBEDDEDiEXTERNAL. (I0d9be) - Rozwiązuje problem na Androidzie 10/11, w którym ikona
EXTERNALViewfindermogł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 kompozycyjnego do użycia z CameraX, zapoznaj się z artykułami
PreviewViewiCameraXViewfinder.
Nowe funkcje
- Funkcje
ContentScaleiAlignmentmoż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
TransformationInfoma 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 końcową lambdę, aby otrzymywać sesję Surface, podobnie jak
AndroidExternalSurface. Podana funkcja lambda używaViewfinderInitScopejako odbiorcy, co umożliwia zainstalowanie wywołania zwrotnego do odbierania nowych sesji Surface. Sesje powierzchni automatycznie zwalniają zasoby przechowywane przez wizjer, gdy wychodzą poza zakres. (Ib2b0d) ViewfinderSurfaceRequest.Builder.populateFromCharacteristicszostał 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)ViewfinderSurfaceRequestnie 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)CameraViewfinderzmieniono 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-viewzostały przeniesione do podpakietuandroidx.camera.viewfinder.viewz 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
TransformationInfojest taka sama jak klasa używana przez wizjer oparty 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. ZamiastListenableFuture<Surface>interfejsy APIrequestSurfaceSession()zwracają terazListenableFuture<ViewfinderSurfaceSession>, co z kolei zwraca klasęAutoCloseable, która po zamknięciu działa tak samo jak wywołanie starego interfejsu APIViewfinderSurfaceRequest.markSurfaceSafeToRelease(). Umożliwia to wyraźniejsze rozdzielenie obowiązków między żądaniem a odpowiedzią. (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
compileSdkdo 35 na potrzeby korzystania z interfejsu API związanego z Androidem 15. Aplikacje korzystające z bibliotek CameraX będą też musiały uaktualnićcompileSdkustawienie konfiguracji. (Ic80cd) - Ta biblioteka korzysta teraz z adnotacji o wartości null JSpecify, które są używane w typie. Deweloperzy Kotlin powinni używać tego argumentu kompilatora, aby wymusić prawidłowe użycie:
-Xjspecify-annotations=strict(jest to domyślny argument począwszy 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-corezostały przeniesione do pakietów zgodnych z biblioteką, do której należą. (I431c6) - Element
CameraViewfinder.ScaleTypezostał przeniesiony doviewfinder-core, aby można go było ponownie użyć w funkcji tworzenia (I87ef1). - Wycofane klasy
CameraViewfindersą 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
Wraz z aktualizacją do wersji 1.4.0-alpha08 artefakt CameraX Viewfinder 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-viewandroidx.camera:camera-viewfinder-compose->androidx.camera.viewfinder:viewfinder-composeandroidx.camera:camera-viewfinder-core->androidx.camera.viewfinder:viewfinder-core
Wprowadzenie tej zmiany nie powinno wymagać żadnych zmian w kodzie. Stare współrzędne Maven Viewfindera nie będą już otrzymywać aktualizacji.
Jeśli używasz Compose z CameraX, dostępna jest teraz nowa biblioteka w wersji alfa, która jest przeznaczona do Compose: androidx.camera:camera-compose. Zapewnia to CameraXViewfinder, czyli kompozycję zgodną z językiem Compose, która dostosowuje SurfaceRequest CameraX do Compose, podobnie jak PreviewView działa w przypadku widoków.