Jetpack Pencere İçinde Pencere Kitaplığı'nı kullanma

Pencere içinde pencere (PiP) Jetpack Kitaplığı, Android uygulama geliştiricilerin PiP işlevini (özellikle medya oynatma, görüntülü iletişim ve gezinme uygulamaları için) uygulamasına yönelik kolay ve sağlam bir çözüm sunar. Kitaplık, birleşik bir API sağlayarak ortak metin kodunu ve yaygın uygulama içi hataları ortadan kaldırmaya yardımcı olur ve pencere içinde pencere kullanıcı deneyiminin genel kalitesini artırır.

PiP Jetpack kitaplığı, Android ekosistemindeki çeşitli temel zorlukları ve tutarsızlıkları ele alarak mevcut PiP API'lerini kolaylaştırır:

  • OS parçalanması: Kitaplık, çeşitli Android sürümlerinde PiP API çağrılarındaki farklılıkları otomatik olarak işler. Örneğin, Android 12'den önce enterPictureInPictureMode, sonra ise isAutoEnterEnabled kullanılır. Böylece geliştiricilerin sürüm farklılıklarını yönetmesi gerekmez.
  • Hatalı PiP parametreleri: Medya oynatma sırasında sorunsuz ve yüksek kaliteli animasyonlar oluşturmak için setSourceRectHint gibi PiP parametrelerini doğru şekilde ayarlamaya yönelik birleşik bir çözüm sunar.
  • Birleştirilmiş PiP durumu geri çağırmaları: Durum ve kullanıcı arayüzü yönetimini basitleştirmek için onPictureInPictureModeChanged ve onPictureInPictureUiStateChanged, tek bir birleştirilmiş geri çağırma arayüzünde (PictureInPictureDelegate.OnPictureInPictureEventListener) birleştirilir.
  • Şablon kodunu azaltma: Kitaplık, yaygın kullanım alanları için önceden tanımlanmış RemoteActions kümeleri sunarak tekrarlayan şablon kodunun miktarını azaltır. Örneğin, oynatma kontrolleri ve görüntülü görüşme işlemleri.
  • Geleceğe yönelik: Diğer PiP özellikleri Jetpack kitaplığı aracılığıyla sunulur. Bu sayede, bu özellikleri kullananlar minimum çabayla ek işlevlere erişebilir.

Jetpack'i kullanmaya başlama

Jetpack Kitaplığı'nı kullanmak için mevcut özel PiP uygulamanızı Jetpack Kitaplığı API'leriyle değiştirin. Uygulama, mevcut uygulamasına bağlı olarak farklı karmaşıklık ve maliyetlerde kullanılabilir.

Aşağıdaki bölümlerde, PiP'nin bazı tipik kullanım alanları ve gerekli uygulama adımları açıklanmaktadır:

Uygulama, gezinmenin etkin veya devre dışı durumu hakkında kitaplığı bilgilendirir ve en-boy oranını ayarlar. Geri kalan işlemler Jetpack kitaplığı tarafından yapılır.

Temel farklılıklar:

  1. Uygulama tarafında otomatik giriş ve eski giriş arasında ayrım yapılması gerekmez.
  2. Geri çağırma arayüzleri birleştirildi.
  3. Geriye dönük uyumluluk için yeni PictureInPictureParams oluşturucu.

Görüntülü Görüşme

Uygulama, kitaplığı aramanın etkin veya etkin olmayan durumu hakkında bilgilendirir ve en boy oranını ayarlar.

Temel farklılıklar:

  1. Uygulama tarafında otomatik giriş ve eski giriş arasında ayrım yapılması gerekmez.
  2. Geri çağırma arayüzleri birleştirildi.
  3. Geriye dönük uyumluluk için yeni PictureInPictureParams oluşturucu.
  4. Görüntülü görüşme için standartlaştırılmış işlem simgeleri.

Video Oynatma

Jetpack kitaplığı, PiP'nin etkinleştirilmesini veya devre dışı bırakılmasını yönetmek ve kaynak dikdörtgen ipucunu doğru şekilde ayarlamak için entegre edebileceğiniz oynatıcı delegeleri sunar. Ayrıca, görüntülü görüşme senaryolarında kullanılanlara benzer şekilde, önceden tanımlanmış bir RemoteAction nesne grubunu da etkinleştirebilirsiniz.

Temel özellikler:

  1. Geriye dönük uyumluluğu destekler, işletim sistemi sürümü kontrolü gerekmez.
  2. Oynatma durumu senkronizasyonu ve otomatik giriş kontrolü.
  3. SourceRectHint kullanılarak sürekli geometri izleme.