Pencere içinde pencere (PiP), tam ekran video oynatılan etkinlikler için tasarlanmış bir çoklu pencere modudur. Kullanıcı, uygulamalar arasında geçiş yaparken veya ana ekrandaki içeriklere göz atarken ekranın bir köşesine sabitlenmiş küçük bir pencerede video izleyebilir.
Çıkarımlar
- Etkinlik, PiP modundayken kullanıcı arayüzü öğelerinin gizlendiğinden ve video oynatmanın devam ettiğinden emin olun.
- Video olmayan içeriklerde sorunsuz yeniden boyutlandırmayı devre dışı bırakın.
- Minimal kullanıcı arayüzüyle video oynatma etkinlikleri en iyi kullanıcı deneyimini sağlar.
- Video içeriği dışında hiçbir şey göstermeyin.
Uygulamanıza pencere içinde pencere desteği ekleme
Varsayılan olarak sistem, uygulamalarda PiP'yi otomatik olarak desteklemez ve bu özelliği desteklediğinin bildirilmesi gerekir.
PiP penceresi, ekranın en üst katmanında, sistem tarafından seçilen bir köşede görünür.
Denetimler
Android, pencereyi kapatma, tam ekran olarak genişletme, ayarlar ve medya oynatma için varsayılan olarak PiP kontrolleri sağlar. Uygulamanız, kullanıcıların PiP içeriğiyle etkileşimde bulunmasına olanak tanımak için özel işlemler ve uygun simge öğeleri ekleyebilir.
Kullanıcı, mobil cihazda pencereye dokunarak veya TV kumandasından menüyü seçerek bu kontrolleri PiP pencere menüsünde gösterebilir. Bir uygulamanın etkin medya oturumu varsa oynatma, duraklatma, sonraki ve önceki kontrolleri de gösterilir. Bu kontrolleri ekleme hakkında bilgi edinin.
PiP modunda etkinliğiniz küçük bir pencerede gösterilir. Kullanıcılar bu modda uygulamanızın diğer kullanıcı arayüzü öğeleriyle etkileşimde bulunamaz ve PiP penceresindeki küçük kullanıcı arayüzü öğelerinin ayrıntılarını görmek zor olabilir.

Varsayılan PiP kontrolleri.

Özel PIP kontrolleri örneği.
Kullanım
Kullanıcıların videolarını yalnızca uygulamanızda değil, cihazlarında da izlemeye devam etmelerine olanak tanıyın. Uygulamanız, mevcut etkinliğin ne zaman PiP moduna gireceğini kontrol eder. Bu, mevcut görünümden çıkma veya ana ekrana gitmek için yukarı kaydırma gibi bir etkileşim olabilir.
Olası işlemlere ilişkin bazı örnekler:
Kullanıcı ana sayfa düğmesine dokunduğunda veya ana sayfaya doğru yukarı kaydırdığında etkinlik, PiP moduna girebilir. Bu sayede Google Haritalar, kullanıcı aynı anda başka bir etkinlik yaparken yol tariflerini göstermeye devam eder.
Şekil 4: Yol bulma deneyimine devam etmek için kullanılan PiP Uygulamanız, kullanıcı videodan geri gelip diğer içeriklere göz atarken videoyu PiP moduna taşıyabilir.
Uygulamanız, kullanıcı bir içerik bölümünün sonunu izlerken videoyu PiP moduna geçirebilir. Ana ekranda, dizinin bir sonraki bölümüyle ilgili tanıtım veya özet bilgileri gösterilir.
Uygulamanız, kullanıcıların video izlerken ek içerikleri sıraya almasına olanak tanıyabilir. Ana ekranda içerik seçme etkinliği gösterilirken video, PiP modunda oynatılmaya devam eder.
İzleme deneyimini tamamlayan ve rahatsız etmeyen bir etkileşim kalıbı kullanın. Örneğin, bir video içerik bölümünün sonunda yer alıyorsa ana ekrandan çıkarken PIP'ye geçmek için kullanıcının geri dönüp oynatmayı durdurması veya küçük kontrollerde gezinmesi gerekir.
Uygulamanızda, ana ekranda içeriklere göz atarken kullanıcılar pencere içinde pencere modunda video oynatma etkinliği devam ederken yeni bir video seçebilir. Kullanıcının kafasını karıştırabilecek yeni bir etkinlik başlatmak yerine, yeni videoyu mevcut oynatma etkinliğinde tam ekran modunda oynatın.
Etkileşim kalıpları
Kullanıcılar, PIP penceresini başka bir konuma sürükleyebilir.
Tam ekran geçişi, kapatma düğmesi, ayarlar düğmesi ve uygulamanız tarafından sağlanan özel işlemleri (ör. oynatma kontrolleri) görüntülemek için pencereye tek dokunun.
Mevcut pencere içinde pencere boyutu ile maksimum veya minimum pencere içinde pencere boyutu arasında geçiş yapmak için pencereye iki kez dokunun. Örneğin, ekranı kaplayacak şekilde büyütülmüş bir pencereye iki kez dokunduğunuzda pencere simge durumuna küçültülür. Bunun tersi de geçerlidir.
Pencereyi sol veya sağ kenara sürükleyerek saklayın. Pencereyi saklamadan çıkarmak için saklanan pencerenin görünen kısmına dokunun veya pencereyi dışarı sürükleyin.
İki parmağınızı kullanarak PIP penceresini yeniden boyutlandırın.
Pencereyi kaldırmak için PIP'i aşağı kaydırın.
Geçişler
PIP moduna geçiş ve PIP modundan çıkış sırasında kullanıcı deneyimini iyileştirmek için giriş ve çıkış geçişlerini özelleştirin.
PiP animasyonuna sorunsuz giriş
Kullanıcı, PiP modunu tetiklediğinde mevcut etkinlik tam ekrandan küçük bir pencereye küçülür. Bu pencerede, herhangi bir kullanıcı arayüzü yerleştirmeden içerik gösterilmeye devam eder.
Android 12, tam ekran ve PiP pencereleri arasındaki geçişlerde kozmetik iyileştirmeler sunar. Bu güncellemeler uygulandıktan sonra tabletlerde ve katlanabilir cihazlarda otomatik olarak ölçeklendirilir.
Bu güncellemeler olmadan geçişler işlevseldir ancak daha az kusursuzdur. Örneğin, geçiş sırasında PIP penceresi geçici olarak kaybolabilir.
Android 12'den itibaren, PictureInPictureParams.Builder.setAutoEnterEnabled(true) işareti, hareketler arasında daha sorunsuz geçişler (ör. ana ekrana gitmek için yukarı kaydırma) sağlar. Bu özelliği ENTERTAINMENT, COMMUNICATION veya VIDEO_PLAYER uygulamalarında kullanmanızı öneririz.
Bu işaret olmadan, hareket geçişleri pencereyi uygulama simgesine küçültür. Pencere daha sonra PiP penceresi olarak yeniden görünür (Video 1'de gösterildiği gibi).
PiP özelliği setAutoEnterEnabled düzgün şekilde uygulanmadığında daha az kusursuz geçiş deneyimi
Uygulamaya setAutoEnterEnabled eklenerek geçiş deneyimi iyileştirildi.
Sorunsuz video görselleri
Android 8.0'da PiP'yi kullanıma sunduğumuzda sourceRectHint, PiP'ye geçişin ardından görünür olan etkinliğin alanını (ör. video oynatıcıdaki video görünümü sınırları) belirtiyordu. Android 12'den itibaren işletim sistemi, PiP moduna girerken ve çıkarken çok daha sorunsuz bir animasyon uygulamak için sourceRectHint kullanır.
Uygulamanız uygun bir sourceRectHint sağlamıyorsa PIP geçişleri yine de işlevseldir ancak animasyonlar daha az gelişmiştir. Örneğin, 3. videoda tam ekran modundan PiP moduna geçişin daha az kusursuz bir örneği gösteriliyor: Tam ekran penceresi PiP penceresine küçüldükten sonra video tekrar gösterilmeden önce siyah bir kaplama ile kaplanıyor.
sourceRectHint düzgün şekilde uygulanmadığında daha az kusursuz geçiş deneyimisourceRectHint doğru şekilde uygulandığında PiP animasyonunun nasıl göründüğüne dair bir örnek görmek için önceki bölümdeki 2. videoya bakın.
Sorunsuz bir geçiş deneyimi sağlamak için Android Kotlin PictureInPicture örneğini referans olarak kullanın.
PiP'yi uygulama hakkında daha fazla bilgi için Pencere içinde pencere geliştirici dokümanlarına bakın.