Pencere içinde pencere

Pencere içinde pencere (PiP), tam ekran video oynatan etkinlikler için tasarlanmış bir çok pencere modu türüdür. Kullanıcıların 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 izlemesine olanak tanır.

Şekil 1: Kullanıcılarınız, uygulamanızda olmasalar bile video deneyimlerine devam edebilir

Çıkarımlar

  • Etkinlik PiP modundayken kullanıcı arayüzü öğelerinin gizlendiğinden ve video oynatmanın devam ettiğinden emin olun.
  • Video olmayan içerikler için sorunsuz yeniden boyutlandırmayı devre dışı bırakın.
  • En iyi kullanıcı deneyimini, minimal kullanıcı arayüzüne sahip video oynatma etkinlikleri sağlar.
  • Video içeriği dışında hiçbir şey göstermeyin.

Uygulamanıza pencere içinde pencere desteği ekleme

Sistem varsayılan olarak uygulamalar için PiP'yi otomatik olarak desteklemez ve özelliği desteklediği beyan edilmelidir.

PiP penceresi, ekranın en üst katmanında, sistem tarafından seçilen bir köşede görünür.

Denetimler

Android, varsayılan olarak pencereyi kapatmak, tam ekrana geri genişletmek, ayarlar ve medya oynatma için PiP kontrolleri sağlar. Uygulamanız, kullanıcıların PiP içeriğiyle etkileşim kurmasına olanak tanımak için özel işlemler ve uygun simge öğeleri ekleyebilir.

Kullanıcı, mobil cihazdaki pencereye dokunarak veya TV uzaktan kumandasından menüyü seçerek bu kontrolleri PiP pencere menüsünden görüntüleyebilir. Bir uygulamanın etkin bir medya oturumu varsa oynatma, duraklatma, sonraki ve önceki kontrolleri de gösterilir. Bu kontrolleri nasıl ekleyeceğiniz 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şim kuramaz 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 etmesine izin verin. Mevcut etkinliğin ne zaman PiP moduna gireceğini uygulamanız 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 bazı örnekler:

  • Kullanıcı ana sayfa düğmesine dokunduğunda veya yukarı kaydırarak ana sayfaya gittiğinde etkinlik PiP moduna girebilir. Google Haritalar, kullanıcı aynı anda başka bir etkinlik gerçekleştirirken yol tariflerini göstermeye bu şekilde devam eder.

    Şekil 4: Yol bulma deneyimine devam etmek için kullanılan PiP
  • Uygulamanız, kullanıcı videodan geri dönüp diğer içeriklere göz atarken videoyu PiP moduna geçirebilir.

  • Uygulamanız, kullanıcı bir içeriğin 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 eklemelerine olanak tanıyabilir. Ana ekranda içerik seçim etkinliği gösterilirken video PiP modunda oynatılmaya devam eder.

İzleme deneyimini kesintiye uğratmadan tamamlayan bir etkileşim kalıbı kullanın. Örneğin, bir video içeriğin sonundaki videoysa ana ekrandan çıkarken PIP'ye girmek için kullanıcının geri dönüp oynatmayı durdurması veya küçük kontrollerde gezinmesi gerekir.

Uygulamanızda, bir video oynatma etkinliği PiP modundayken kullanıcı ana ekranda içeriklere göz atarken 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 yere sürükleyebilir.

Tam ekran açma/kapatma düğmesi, kapat 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.

Şekil 5: Varsayılan PiP kontrolleri

Mevcut PiP boyutu ile maksimum veya minimum PiP boyutu arasında geçiş yapmak için pencereye iki kez dokunun. Örneğin, maksimum görünümdeki bir pencereye iki kez dokunduğunuzda pencere küçültülür. Bunun tersi de geçerlidir.

Şekil 6: İki kez dokunarak PiP'yi minimum ve maksimum boyut arasında değiştirme

Pencereyi sol veya sağ kenara sürükleyerek gizleyin. Pencereyi gizleme modundan çıkarmak için gizlenen pencerenin görünür kısmına dokunun veya pencereyi dışarı sürükleyin.

Şekil 7: PiP'nin saklanması

İki parmağınızı yakınlaştırmak veya uzaklaştırmak için kullanarak PiP penceresini yeniden boyutlandırın.

Pencereyi kaldırmak için PiP'yi aşağı kaydırın.

Şekil 8: Aşağı kaydırma

Geçişler

PIP'ye sorunsuz geçiş animasyonu

PiP modunu tetikleyen kullanıcı, mevcut etkinliğin tam ekrandan küçük bir pencereye küçülmesine neden olur. Bu pencere, kullanıcı arayüzünü kapatmadan içeriği göstermeye devam eder.

Android 12, tam ekran ve PiP pencereleri arasındaki animasyonlu geçişlerde önemli görsel iyileştirmeler yaptı. Geçerli tüm değişiklikleri uygulamanızı önemle tavsiye ederiz. Bu değişiklikleri yaptıktan sonra, başka bir işlem yapmanıza gerek kalmadan katlanabilir cihazlar ve tabletler gibi büyük ekranlara otomatik olarak ölçeklendirilir.

Uygulamanız bu geçerli güncellemeleri içermiyorsa PiP geçişleri çalışmaya devam eder ancak animasyonlar daha az pürüzsüz olur. Örneğin, tam ekrandan PiP moduna geçiş yaptığınızda PiP penceresi geçiş sırasında kaybolur ve geçiş tamamlandığında yeniden görünür.

Android 12'den itibaren PictureInPictureParams.Builder.setAutoEnterEnabled(true) işaretçisi, hareketle gezinme özelliğini kullanarak PiP modunda video içeriğine geçiş için çok daha akıcı bir animasyon sağlar (ör. tam ekrandan ana sayfaya kaydırırken). Uygulamanız ENTERTAINMENT, COMMUNICATION veya VIDEO_PLAYER uygulama kategorisine giriyorsa bunu yapmanızı öneririz.

Uygulamanızda bu değişiklik yoksa hareketle gezinme özelliğine sahip PIP geçişleri çalışmaya devam eder ancak animasyonlar daha az cilalıdır. 1. videoda buna örnek gösterilmektedir: Pencere, uygulama simgesine sığar ve kaybolur, ardından geçiş tamamlandığında yeniden görünür.

PiP'de setAutoEnterEnabled düzgün şekilde uygulanmadığında daha az şık geçiş deneyimi
Uygulamaya eklenen setAutoEnterEnabled ile kusursuz geçiş deneyimi.

Pürüzsüz video görselleri

Android 8.0'da PiP'yi kullanıma sunduğumuzda sourceRectHint, PiP'ye geçişten sonra etkinliğin görünür olan alanını (ör. bir video oynatıcıdaki video görüntüleme sınırları) belirtiyordu. Android 12'den itibaren işletim sistemi, hem PiP moduna girerken hem de bu moddan çıkarken çok daha akıcı bir animasyon uygulamak için sourceRectHint'ü kullanır.

Uygulamanız düzgün bir sourceRectHint sağlamazsa PIP geçişleri çalışmaya devam eder ancak animasyonlar daha az pürüzsüz olur. Örneğin, 3. videoda tam ekrandan PiP moduna geçişin daha az rötuşlanmış bir örneği gösterilmektedir: Tam ekran pencere PiP penceresine küçüldükten sonra video tekrar gösterilmeden önce siyah bir yer paylaşımıyla kapatılır.

3. Video: PiP'de sourceRectHint düzgün şekilde uygulanmadığında daha az şık geçiş deneyimi

sourceRectHint 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 sunmak için Android Kotlin PictureInPicture örneğine bakın.

PiP'yi uygulama hakkında daha fazla bilgi için Pencere içinde pencere geliştirici dokümanlarına bakın.