wizjer aparatu

  
Standalone Composable and View based Viewfinder for Camera

Ta tabela zawiera listę wszystkich artefaktów w grupie androidx.camera-viewfinder.

Artefakt Wersja stabilna Wersja kandydująca do publikacji Wersja Beta Wersja alfa
viewfinder-compose - - 1.5.0-beta01 1.4.0-alpha13
viewfinder-core - - 1.5.0-beta01 1.4.0-alpha13
viewfinder-view - - 1.5.0-beta01 1.4.0-alpha13
Ta biblioteka została ostatnio zaktualizowana 7 maja 2025 r.

Deklarowanie zależności

Aby dodać zależność od pakietu camera-viewfinder, musisz dodać repozytorium Google Maven do projektu. Więcej informacji znajdziesz w repozytorium Maven firmy Google.

Dodaj zależności dla artefaktów, których potrzebujesz, w pliku build.gradle aplikacji lub modułu:

Groovy

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"

}

Kotlin

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


}

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 zauważysz 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 zagłosować na istniejący problem, klikając przycisk z gwiazdką.

Tworzenie nowego zgłoszenia

Więcej informacji znajdziesz w dokumentacji narzędzia Issue Tracker.

Wersja 1.5

Wersja 1.5.0-beta01

7 maja 2025 r.

Funkcje androidx.camera.viewfinder:viewfinder-compose:1.5.0-beta01, androidx.camera.viewfinder:viewfinder-core:1.5.0-beta01androidx.camera.viewfinder:viewfinder-view:1.5.0-beta01 są dostępne. Wersja 1.5.0-beta01 zawiera te komity.

  • To pierwsza oficjalna wersja beta w ramach testów wersji beta wizjera na podstawie widoku i kompozycji, który jest wystarczająco elastyczny, aby można go było używać z aplikacją Camera2. Jeśli szukasz widoku lub komponentu do użycia z CameraX, zapoznaj się z artykułami PreviewViewCameraXViewfinder.

Nowe funkcje

  • ContentScaleAlignment można teraz używać w wyświetlaczu opartym na kompozytowaniu, aby skalować i umieszczać wyświetlaną powierzchnię w kontenerze, podobnie jak w przypadku androidx.compose.foundation.Image. (Ibcea3)

Zmiany w interfejsie API

  • Funkcja TransformationInfo ma teraz wartości domyślne dla wszystkich argumentów. Pozwoli to tworzyć wizjery bez żadnych wartości TransformationInfo, co spowoduje domyślne ustawienie rotacji źródła na 0, brak lustrzanego odbicia źródła i brak prostokąta przycinania. (I2b1b2)
  • Złożony wizjer przyjmuje teraz lambda na końcu, aby otrzymać sesję Surface, podobnie jak AndroidExternalSurface. Podana funkcja lambda używa ViewfinderInitScope jako odbiornika, co umożliwia zainstalowanie wywołania zwrotnego, aby odbierać nowe sesje Surface. Te sesje na powierzchni automatycznie uwalniają zasoby przechowywane przez Widokownik, gdy wychodzą poza zakres. (Ib2b0d)
  • Interfejs ViewfinderSurfaceRequest.Builder.populateFromCharacteristics został usunięty i zastąpiony równoważnym zestawem interfejsów API statycznych, które można wykorzystać do wygenerowania interfejsu TransformationInfo, który przeprowadzi tę samą transformację co populateFromCharacteristics. Te metody statyczne są dodawane do klasy Camera2TransformationInfo. (Idc6af)
  • Interfejs ViewfinderSurfaceRequest nie obsługuje już asynchronicznych interfejsów API do pobierania powierzchni. Jest to teraz niezmienny typ danych. Interfejsy API służące do pobierania powierzchni zostały przeniesione do wizjera. (I30127)
  • CameraViewfinder zostało przemianowane na ViewfinderView, aby nazwa była zgodna z nazwą komponentu wizjer i oznaczała, że można go używać nie tylko z źródłami z kamery. (Id9e6b)
  • Zajęcia z pakietu viewfinder-view zostały przeniesione do podpakietu androidx.camera.viewfinder.view w pakiecie androidx.camera.viewfinder. (I6cb44)
  • Do wyszukiwarki opartej na widoku dodano nowe interfejsy API, które umożliwiają obracanie źródła, odwracanie i przycinanie prostokąta. Ta klasa TransformationInfo jest tą samą klasą, której używa podgląd na podstawie usługi Compose. (I907c3)
  • Widok w ramce korzysta teraz z nowych interfejsów API ViewfinderSurfaceRequest, które nie obsługują już wewnętrznie odpowiedzi interfejsu Surface. Zamiast zwracać ListenableFuture<Surface>, interfejsy API requestSurfaceSession() zwracają teraz ListenableFuture<ViewfinderSurfaceSession>, który zwraca klasę AutoCloseable, która po zamknięciu działa tak samo jak wywołanie starego interfejsu API ViewfinderSurfaceRequest.markSurfaceSafeToRelease(). Dzięki temu odpowiedzialność za żądanie i odpowiedź jest wyraźniej rozdzielona. (I19041)

Wersja 1.4

Wersja 1.4.0-alpha13

26 lutego 2025 r.

Funkcje androidx.camera.viewfinder:viewfinder-compose:1.4.0-alpha13, androidx.camera.viewfinder:viewfinder-core:1.4.0-alpha13androidx.camera.viewfinder:viewfinder-view:1.4.0-alpha13 są dostępne. Wersja 1.4.0-alpha13 zawiera te komity.

Wersja 1.4.0-alpha12

15 stycznia 2025 r.

Funkcje androidx.camera.viewfinder:viewfinder-compose:1.4.0-alpha12, androidx.camera.viewfinder:viewfinder-core:1.4.0-alpha12androidx.camera.viewfinder:viewfinder-view:1.4.0-alpha12 są dostępne. Wersja 1.4.0-alpha12 zawiera te komity.

Nowe funkcje

  • Uaktualniono compileSdk do 35, aby umożliwić korzystanie z interfejsów API związanych z Androidem 15. Aplikacje korzystające z bibliotek CameraX również będą musiały uaktualnić ustawienie konfiguracji compileSdk. (Ic80cd)
  • Biblioteka ta korzysta teraz z adnotacji JSpecify dotyczących nullowości, które są używane w zależności od typu. Aby wymusić prawidłowe użycie, deweloperzy Kotlina powinni użyć tego argumentu kompilatora: -Xjspecify-annotations=strict (jest to domyślna wartość od wersji 2.1.0 kompilatora Kotlina). (I7bcd7, b/326456246)

Wersja 1.4.0-alpha11

11 grudnia 2024 r.

Funkcje androidx.camera.viewfinder:viewfinder-compose:1.4.0-alpha11, androidx.camera.viewfinder:viewfinder-core:1.4.0-alpha11androidx.camera.viewfinder:viewfinder-view:1.4.0-alpha11 są dostępne. Wersja 1.4.0-alpha11 zawiera te komisy.

Zmiany w interfejsie API

  • Zajęcia viewfinder-core zostały przeniesione do pakietów zgodnych z biblioteką, do której należą. (I431c6)
  • Element CameraViewfinder.ScaleType został przeniesiony do elementu viewfinder-core, aby można było go ponownie użyć w komponowaniu (I87ef1)
  • Wycofane klasy CameraViewfinder zostały usunięte. Użyj nowych interfejsów API, które zapewniają równoważne funkcje. (I6e59a)

Wersja 1.4.0-alpha10

30 października 2024 r.

Funkcje androidx.camera.viewfinder:viewfinder-compose:1.4.0-alpha10, androidx.camera.viewfinder:viewfinder-core:1.4.0-alpha10androidx.camera.viewfinder:viewfinder-view:1.4.0-alpha10 są dostępne. Wersja 1.4.0-alpha10 zawiera te komity.

Wersja 1.4.0-alpha09

2 października 2024 r.

Funkcje androidx.camera.viewfinder:viewfinder-compose:1.4.0-alpha09, androidx.camera.viewfinder:viewfinder-core:1.4.0-alpha09androidx.camera.viewfinder:viewfinder-view:1.4.0-alpha09 są dostępne. Wersja 1.4.0-alpha09 zawiera te komity.

Wersja 1.4.0-alpha08

4 września 2024 r.

Funkcje androidx.camera.viewfinder:viewfinder-compose:1.4.0-alpha08, androidx.camera.viewfinder:viewfinder-core:1.4.0-alpha08androidx.camera.viewfinder:viewfinder-view:1.4.0-alpha08 są dostępne. Wersja 1.4.0-alpha08 zawiera te komisy.

Nowe funkcje

Wraz z aktualizacją do wersji 1.4.0-alpha08 artefakt aparatu CameraX został przeniesiony do własnej grupy biblioteki. Ta zmiana jest konieczna, aby poprawić modularność i łatwość konserwacji biblioteki CameraX.

Jeśli wcześniej zależało Ci od wersji androidx.camera:camera-viewfinder, androidx.camera:camera-viewfinder-compose lub androidx.camera:camera-viewfinder-core, musisz przenieść zależności do tych wersji:

  • 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

Przejście to nie wymaga żadnych zmian w kodzie. Stare współrzędne w usłudze Viewfinder Maven 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. Dzięki temu udostępniasz komponent CameraXViewfinder, który jest elementem Viewfinder (w języku Compose) dostosowanym do Compose (podobnie jak komponent PreviewView działa w przypadku widoków).SurfaceRequest