Obraz w obrazie (PIP) to rodzaj trybu wielu okien przeznaczony do działań, które odtwarzają wideo pełnoekranowe. Umożliwia użytkownikowi oglądanie filmu w małym oknie przypiętym do rogu ekranu podczas przełączania aplikacji lub przeglądania treści na głównym ekranie.
Wnioski
- Upewnij się, że elementy interfejsu są ukryte, a odtwarzanie wideo jest kontynuowane, gdy aktywność jest w trybie obrazu w obrazie.
- Wyłącz płynną zmianę rozmiaru w przypadku treści innych niż filmy.
- Odtwarzanie filmów z minimalnym interfejsem zapewnia najlepszą wygodę.
- Unikaj wyświetlania czegokolwiek poza treściami wideo.
Dodawanie do aplikacji obsługi trybu obrazu w obrazie
Domyślnie system nie obsługuje automatycznie trybu obrazu w obrazie w przypadku aplikacji. Aby korzystać z tej funkcji, należy ją zadeklarować.
Okno PiP pojawi się w najwyższej warstwie ekranu, w rogu wybranym przez system.
Opcje
Domyślnie Android udostępnia elementy sterujące trybu obrazu w obrazie, które umożliwiają zamknięcie okna, rozszerzenie go z powrotem do pełnego ekranu, zmianę ustawień i odtwarzanie multimediów. Aplikacja może dodawać niestandardowe działania i odpowiednie ikony, aby umożliwić użytkownikom interakcję z treściami w trybie obraz w obrazie.
Użytkownik może wyświetlić te elementy sterujące w menu okna PiP, klikając okno na urządzeniu mobilnym lub wybierając menu na pilocie telewizora. Jeśli aplikacja ma aktywną sesję multimediów, wyświetlają się też elementy sterujące odtwarzaniem, wstrzymywaniem, następnym i poprzednim. Dowiedz się, jak dodać te ustawienia.
W trybie obrazu w obrazie aktywność jest wyświetlana w małym oknie. W tym trybie użytkownicy nie mogą wchodzić w interakcje z innymi elementami interfejsu aplikacji, a szczegóły małych elementów interfejsu w oknie obrazu w obrazie mogą być trudne do zobaczenia.

Domyślne elementy sterujące PiP.

Przykład niestandardowych elementów sterujących PIP.
Wykorzystanie
Umożliwia użytkownikom kontynuowanie oglądania filmu nie tylko w aplikacji, ale też na innych urządzeniach. Aplikacja kontroluje, kiedy bieżąca aktywność przechodzi w tryb obrazu w obrazie. Może to być interakcja, np. opuszczenie bieżącego widoku lub przesunięcie palcem w górę, aby przejść do ekranu głównego.
Oto kilka przykładów możliwych działań:
Aktywność może przejść w tryb obrazu w obrazie, gdy użytkownik naciśnie przycisk ekranu głównego lub przesunie palcem w górę do ekranu głównego. Dzięki temu Mapy Google mogą nadal wyświetlać wskazówki, gdy użytkownik wykonuje w tym samym czasie inne czynności.
Ilustracja 4. Obraz w obrazie używany do kontynuowania nawigacji Aplikacja może przenieść film do trybu obraz w obrazie, gdy użytkownik wróci z filmu, aby przeglądać inne treści.
Aplikacja może przełączyć film w tryb obrazu w obrazie, gdy użytkownik ogląda końcówkę odcinka. Na ekranie głównym wyświetlają się informacje promocyjne lub podsumowujące dotyczące następnego odcinka serialu.
Aplikacja może umożliwiać użytkownikom dodawanie do kolejki dodatkowych treści podczas oglądania filmu. Odtwarzanie filmu będzie kontynuowane w trybie obrazu w obrazie, a na ekranie głównym będzie wyświetlana aktywność wyboru treści.
Używaj wzorca interakcji, który uzupełnia wrażenia z oglądania, ale nie przeszkadza w odbiorze. Jeśli na przykład film znajduje się na końcu odcinka treści, wejście w tryb obrazu w obrazie po opuszczeniu ekranu głównego będzie wymagało dodatkowego działania użytkownika, aby powrócić i zatrzymać odtwarzanie lub poruszać się po małych elementach sterujących.
W aplikacji użytkownik może wybrać nowy film podczas przeglądania treści na ekranie głównym, gdy aktywność odtwarzania filmu jest w trybie obrazu w obrazie. Odtwarzaj nowy film w ramach istniejącej aktywności odtwarzania w trybie pełnoekranowym, zamiast uruchamiać nową aktywność, która może zmylić użytkownika.
Wzorce interakcji
Użytkownicy mogą przeciągać okno PIP w inne miejsce.
Kliknij okno, aby wyświetlić przełącznik pełnego ekranu, przycisk zamykania, przycisk ustawień i działania niestandardowe udostępniane przez aplikację (np. elementy sterujące odtwarzaniem).
Kliknij dwukrotnie okno, aby przełączać się między bieżącym rozmiarem obrazu w obrazie a maksymalnym lub minimalnym rozmiarem obrazu w obrazie. Na przykład kliknięcie dwukrotnie zmaksymalizowanego okna spowoduje jego zminimalizowanie i odwrotnie.
Schowaj okno, przeciągając je do lewej lub prawej krawędzi. Aby przywrócić okno, kliknij widoczną część schowanego okna lub przeciągnij je.
Zmień rozmiar okna PIP, używając gestu uszczypnięcia.
Przesuń okno obrazu w obrazie w dół, aby je usunąć.
Przejścia
Aby zapewnić użytkownikom płynne przejście do trybu obrazu w obrazie i z niego, dostosuj przejścia wejścia i wyjścia.
Płynne przejście do animacji obrazu w obrazie
Gdy użytkownik włączy tryb obrazu w obrazie, bieżąca aktywność zmniejszy się z pełnego ekranu do małego okna, w którym nadal będą wyświetlane treści bez nakładania interfejsu.
W Androidzie 12 wprowadziliśmy zmiany wizualne w przejściach między oknami pełnoekranowymi a oknami w trybie obraz w obrazie. Po wdrożeniu te aktualizacje będą automatycznie dostosowywać się do tabletów i urządzeń składanych.
Bez tych aktualizacji przejścia działają, ale są mniej dopracowane. Na przykład okno PIP może tymczasowo zniknąć podczas przejścia.
Od Androida 12 flaga
PictureInPictureParams.Builder.setAutoEnterEnabled(true) zapewnia płynniejsze przejścia gestów (np. przesunięcie w górę do strony głównej). Zalecamy to w przypadku aplikacji ENTERTAINMENT, COMMUNICATION i VIDEO_PLAYER.
Bez tej flagi przejścia gestami zmniejszają okno do ikony aplikacji, zanim ponownie pojawi się ono jako okno funkcji PIP (jak pokazano na filmie 1).
Mniej dopracowane przejście, gdy funkcja obrazu w obrazie nie jest prawidłowo zaimplementowana.setAutoEnterEnabled
Ulepszone przejście dzięki setAutoEnterEnabled dodanemu do aplikacji.
Płynność obrazu wideo
Gdy wprowadziliśmy funkcję obraz w obrazie w Androidzie 8.0, symbol sourceRectHint wskazywał obszar aktywności widoczny po przejściu do trybu obraz w obrazie, np. granice widoku filmu w odtwarzaczu wideo. Od Androida 12 system operacyjny używa sourceRectHint, aby zapewnić znacznie płynniejszą animację zarówno podczas włączania, jak i wyłączania trybu obrazu w obrazie.
Jeśli aplikacja nie zapewnia odpowiedniego sourceRectHint, przejścia w trybie „obraz w obrazie” nadal działają, ale animacje są mniej dopracowane. Na przykład w filmie 3 widać mniej dopracowany przykład przejścia z trybu pełnoekranowego do trybu obrazu w obrazie: po zmniejszeniu okna pełnoekranowego do rozmiaru okna obrazu w obrazie jest ono zasłonięte czarną nakładką, a następnie ponownie wyświetla film.
sourceRectHintPrzykład animacji PiP, która jest sourceRectHintprawidłowo wdrożona, znajdziesz w filmie 2 w poprzedniej sekcji.
Aby uzyskać informacje o tym, jak zapewnić płynne przejście, zapoznaj się z przykładową aplikacją PictureInPicture w Kotlinie na Androida.
Więcej informacji o wdrażaniu trybu obraz w obrazie znajdziesz w dokumentacji dla deweloperów.