Pencere içinde pencere

Pencere içinde pencere (PIP), tam ekran video oynatan etkinlikler için tasarlanmış bir çoklu pencere modu türüdür. Kullanıcının uygulamalar arasında gezinirken veya ana ekranda içeriğe göz atarken ekranın bir köşesine sabitlenmiş küçük bir pencerede video izlemesini sağlar.

Şekil 1: Kullanıcılarınız uygulamanızda değilken bile video deneyimine devam edebilir

Çalmalar

  • Kullanıcı arayüzü öğelerinin gizli olduğundan ve etkinlik PiP modundayken video oynatmanın devam ettiğinden emin olun.
  • Video olmayan içerik için 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 şeyi göstermekten kaçının.

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

Varsayılan olarak, sistem, uygulamalar için PiP'yi otomatik olarak desteklemez ve özelliği desteklediğinin beyan edilmesi gerekir.

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

Denetimler

Varsayılan olarak Android, pencereyi kapatmak, tekrar tam ekrana genişletmek, ayarları ve medya oynatmasını sağlamak için PiP kontrolleri sağlar. Uygulamanız, kullanıcıların PiP içeriğiyle etkileşim kurmasını sağlamak için özel işlemler ve uygun simge öğeleri ekleyebilir.

Kullanıcı, mobil cihazında pencereye dokunarak veya TV kumandasındaki menüyü seçerek PiP pencere menüsünden bu kontrolleri görüntüleyebilir. Bir uygulamanın etkin medya oturumu varsa oynatma, duraklatma, sonraki ve önceki kontrolleri de görüntülenir. Bu denetimleri ekleme hakkında bilgi edinin.

PiP modunda etkinliğiniz küçük bir pencerede gösterilir. Bu modda kullanıcılar, 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.

Şekil 2: Varsayılan PiP denetimleri


Şekil 3: Özel PiP denetimleri örneği

Geçişler

PiP'ye kolay geçiş animasyonu

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

Android 12, tam ekran ve PiP pencereler arasındaki animasyonlu geçişlere önemli estetik iyileştirmeler ekledi. Geçerli tüm değişiklikleri uygulamanızı kesinlikle öneririz. Uygulama tamamlandıktan sonra, bu değişiklikler başka bir işlem gerektirmeden katlanabilir cihazlar ve tabletler gibi büyük ekranlara göre otomatik olarak ölçeklenir.

Uygulamanız bu geçerli güncellemeleri içermiyorsa PiP geçişleri çalışmaya devam eder ancak animasyonlar daha az gösterişlidir. Örneğin, tam ekrandan PiP moduna geçiş, geçiş işlemi tamamlandığında PiP penceresinin geçiş sırasında yeniden görünmeden önce kaybolmasına neden olabilir.

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

Uygulamanız bu değişikliği içermiyorsa hareketle gezinme içeren PiP geçişleri çalışmaya devam eder ancak animasyonlar daha az gösterişlidir. 1. videoda bunun bir örneği gösterilmektedir: Pencere, uygulama simgesinin içine doğru küçülüp kaybolur ve geçiş tamamlandığında yeniden görüntülenir.

1. video: PiP'de setAutoEnterEnabled düzgün şekilde uygulanmadığında daha düzensiz bir geçiş deneyimi

2. videoda da uygulamaya setAutoEnterEnabled eklenmiş halde aynı geçişin bir örneği gösterilmektedir.

2. video: Şık bir geçiş deneyimi

Akıcı video görselleri

Android 8.0'da PiP'yi kullanıma sunduğumuzda sourceRectHint, PIP'ye geçişin ardından görülebilecek etkinlik alanını belirtmişti. Örneğin, bir video oynatıcıda video görüntüleme sınırı oluşturuluyor. Android 12'den başlayarak işletim sistemi, PiP moduna girerken ve bu moddan çıkarken çok daha akıcı bir animasyon uygulamak için sourceRectHint özelliğini kullanır.

Uygulamanız uygun bir sourceRectHint sağlamazsa PiP geçişleri çalışmaya devam eder ancak animasyonlar daha az gösterişlidir. Örneğin, 3. videoda tam ekrandan PiP moduna geçişin daha sade bir örneği gösterilmektedir. Tam ekran penceresi PiP penceresine küçültüldükten sonra, video tekrar gösterilmeden önce siyah bir yer paylaşımıyla kaplanır.

3. video: PiP'de sourceRectHint düzgün şekilde uygulanmadığında daha düzensiz bir geçiş deneyimi

sourceRectHint düzgün bir şekilde uygulandığında PiP animasyonunun nasıl görüneceğine dair bir örnek görmek için önceki bölümde yer alan 2. videoya bakın.

Şık bir geçiş deneyimi sunmak için referans olarak Android Kotlin PictureInPicture örneğine bakın.

Kullanım

Kullanıcıların videolarını yalnızca uygulamanızın içinde değil, cihazlarında da izlemeye devam etmesini sağlayın. Uygulamanız, geçerli etkinliğin ne zaman PIP moduna gireceğini kontrol eder. Bu, geçerli görünümden çıkma veya ana sayfaya gitmek için yukarı kaydırma gibi bir etkileşim olabilir.

Aşağıda olası işlemlere bazı örnekler verilmiştir:

  • Bir etkinlik, kullanıcı ana sayfa düğmesine dokunduğunda veya ana ekrana doğru hızlıca kaydırdığında PiP moduna girebilir. Kullanıcı aynı anda başka bir etkinlik çalıştırırken Google Haritalar yol tariflerini görüntülemeye bu şekilde devam eder.

    Şekil 4: PiP yol bulma deneyimini sürdürmek için kullanıldı
  • Kullanıcı diğer içeriklere göz atmak için videodan geri döndüğünde uygulamanız bir videoyu PiP moduna taşıyabilir.

  • Kullanıcı bir içeriğin sonunu izlerken uygulamanız bir videoyu PiP moduna geçirebilir. Ana ekranda, dizinin bir sonraki bölümüyle ilgili tanıtım bilgileri veya özet bilgiler gösteriliyor.

  • Uygulamanız, kullanıcıların video izlerken ek içerikleri sıraya eklemelerine olanak sağlayabilir. Ana ekranda bir içerik seçimi etkinliği gösterilirken video PiP modunda oynatılmaya devam ediyor.

İzleyicileri kesintiye uğratmadan izleme deneyimini tamamlayan bir etkileşim kalıbı kullanın. Örneğin, bir video, içeriğin bir bölümünün sonundaysa ana ekrandan ayrılırken PiP girilmesi, oynatmayı durdurmak ve küçük kontrollerde gezinmek için kullanıcının ek işlem yapmasını gerektirir.

Uygulamanızda video oynatma etkinliği PiP modundayken kullanıcı ana ekranda içeriklere göz atarken yeni bir video seçebilir. Yeni videoyu, kullanıcının kafasını karıştırabilecek yeni bir etkinlik başlatmak yerine tam ekran modunda mevcut oynatma etkinliğinde oynatın.

Kullanıcılar, PiP penceresini başka bir konuma sürükleyebilir.

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

    Şekil 5: Varsayılan PiP denetimleri
  • Mevcut PiP boyutu ile maksimum veya minimum PiP boyutu arasında geçiş yapmak için pencereye iki kez dokunun. Örneğin, ekranı kaplayan bir pencereye iki kez dokunmak pencereyi simge durumuna küçültür, bunun tersi de doğru olur.

    Şekil 6: İki kez dokunarak minimum ve maksimum PiP boyutları arasında geçiş yapma
  • Pencereyi sol veya sağ kenara sürükleyerek saklayın. Pencerenin kilidini açmak için saklanmış pencerenin görünür bölümüne dokunun veya dışarı sürükleyin.

    Şekil 7: PiP saklandı
  • Yakınlaştırmak için sıkıştırarak PiP penceresini yeniden boyutlandırın.

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

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

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