Masaüstü pencereleme

Bu sayfada, masaüstü pencereli görüntüleme ile ilgili özellikler ve test senaryoları ayrıntılı olarak açıklanmaktadır.

Android 17 ve sonraki sürümlerde Ekran başına pencereli görüntüleme'yi etkinleştirebilirsiniz. Daha fazla bilgi için Masaüstü pencereli görüntülemeyi etkinleştirme başlıklı makaleyi inceleyin.

Masaüstü özellikleri

Bu bölümde, masaüstü pencereleme ile ilgili temel özellikler ve yapılandırmalar açıklanmaktadır.

Görev sınırlarını etkinleştirme

Masaüstü pencereli görüntüleme işleminde desteklenen maksimum görev sayısını yapılandırmak için:

  1. Pencereli görüntüleme'yi etkinleştirin.
  2. config_maxDesktopWindowingActiveTasks içindeki yapılandırma yer paylaşımı işaretini config.xml desteklenen görevlerin maksimum sayısına ayarlayın. Sınırsız sayıda görevi desteklemek için işareti varsayılan değer olan 0 olarak ayarlayın:

    <integer name="config_maxDesktopWindowingActiveTasks">4</integer>
    

Tarayıcıya özgü özellikler

Android 16'da tarayıcıya özel iki özellik kullanıma sunuldu: özelleştirilebilir başlık yerleştirmeleri ve uygulama örneği yönetimi. Bu bölümde, tarayıcı uyumluluğunu doğrulamak için kullanılan test senaryoları açıklanmaktadır. OEM'ler, özellik uygulamasının beklendiği gibi çalıştığını doğrulamalıdır.

Özelleştirilebilir başlık iç kısımları için test senaryoları

Aşağıdaki test senaryoları, özelleştirilebilir başlık ekleriyle tarayıcı uyumluluğunu doğrular:

  • Kullanıcı arayüzü etkileşimi: Tarayıcının başlık çubuğu kullanıcı arayüzünün tüm pencere yapılandırmalarında (serbest biçim, bölünmüş ekran ve tam ekran) tam etkileşimli kaldığını doğrulayın.
  • Sistem simgesi temizliği: Tarayıcı kullanıcı arayüzünün sistem simgelerinin altında çizilmediğini onaylayın.
  • Ön plan rengi uygulaması: Tarayıcının temasına göre uygulama başlığındaki sistem simgelerine doğru ön plan renklerinin uygulandığını doğrulayın. Bu durum, özellikle tarayıcının teması sistem temasından farklı olduğunda önemlidir.
  • Pencere sürükleme: Sekme şeridinin boş bir alanına uzun basarak serbest biçimli bir pencerenin sürüklenip sürüklenemediğini doğrulayın.
  • Yeniden boyutlandırmada sekme görünürlüğü: En iyi kullanılabilirliği sağlamak için sekmelerin pencerenin genişliğine göre gösterilip gösterilmediğini veya gizlenip gizlenmediğini test edin.

Sürükleme hareketi davranışıyla uygulama örneği yönetimi için test senaryoları

Aşağıdaki test senaryoları, tarayıcı uyumluluğunu uygulama örneği yönetimiyle doğrular:

  • Yeni pencere oluşturma: Sekme şeridinden boş bir alana sekme sürüklemenin, bu sekmeyi içeren yeni bir tarayıcı penceresi oluşturduğunu doğrulayın.
  • Son sekme için yeni pencere yok (tek örnek): Yalnızca bir tarayıcı örneği açıksa bu penceredeki son sekmenin sürüklenmesinin yeni bir pencere oluşturmadığını doğrulayın.

Öncelikle masaüstü ve dokunma odaklı davranış modları

Pencereli görüntüleme, bağımsız tabletlerin yanı sıra katlanabilir cihazlar ve bağlı harici ekranlara sahip cihazlar da dahil olmak üzere çeşitli form faktörlerini destekleyecek şekilde tasarlanmıştır. Farklı form faktörleri, etkileşim konusunda farklı kullanıcı beklentileri taşır. Bu beklentiler genellikle birincil giriş yöntemi (dokunma veya klavye ve fare) tarafından belirlenir. Masaüstü pencereli görüntüleme, iki farklı davranış modu kullanır:

  • Öncelikle masaüstü modu: Sistemde serbest biçimli pencerelemeye öncelik verilen, klavye ve dokunmatik yüzey için optimize edilmiş bir deneyim sunar. Bu mod, dizüstü bilgisayar benzeri yapılandırmalar için tasarlanmıştır.
  • Öncelikle dokunma modu: Sistemde tam ekran pencere kullanımının tercih edildiği, dokunmaya yönelik optimize edilmiş bir deneyim sunar. Bu mod, bağımsız tabletler için varsayılandır.

Bu modlar ayrı masaüstü ortamları değil, varsayılan kullanıcı arayüzü davranışlarını belirleyen ekran başına durumlar olarak değerlendirilir.

Davranış farklılıkları

Aşağıdaki tabloda, öncelikle masaüstü ve öncelikle dokunma modları arasındaki temel kullanıcı arayüzü ve işlevsel farklılıklar özetlenmektedir:

Özellik Dokunma öncelikli mod Öncelikle Masaüstü Modu
Varsayılan Başlatma Serbest biçimli bir pencere zaten üstte değilse Windows tam ekran olarak başlatılır. Tam ekran pencere zaten üstte değilse pencereler serbest biçimde başlatılır.
Görev Çubuğu Türü Tam ekranda geçici görev çubuğu (yalnızca sabitlenmiş uygulamaları gösterir) kullanılıyor. Her zaman masaüstü görev çubuğunu kullanır (sabitlenmiş ve açık uygulamaları gösterir).
Yeniden odaklanma (Refocusing) Pencereler, mevcut ekran moduna göre yeniden etkinleştirilir (ör. ekran masaüstü pencereleme modundaysa serbest biçimli olarak yeniden etkinleştirilir). Pencereler, kendi kayıtlı pencere modlarına göre yeniden etkinleştirilir (örneğin, tam ekran pencere her zaman tam ekran olarak devam eder).
En Üste Sürükleme Bir pencereyi üst kenara sürüklediğinizde Tam ekran moduna geçilir. Pencereyi üst kenara sürüklemek Ekranı kapla durumuna girer.
Pencere kontrolleri Tam ekran kontrolleri için uygulama herkese açık kullanıcı adını kullanır. Tam ekran kontrolleri için fareyle üzerine gelme menüsünü kullanır.

Öncelikle masaüstü modu, ekran başına bir durumdur. Yani bir cihaz aynı anda dokunmaya öncelik veren bir dahili ekranı ve masaüstüne öncelik veren bir harici ekranı barındırabilir.

Tetikleyicileri değiştirme

Sistem, bir ekran için uygun modu belirlemek üzere çeşitli faktörleri değerlendirir:

  • Giriş birimi: Hem klavye hem de dokunmatik alan veya fare bağlı olup etkinse ekran öncelikle masaüstü moduna geçer.
  • Harici ekran: Bağlı harici ekranlar, dahili ekranı yansıtmıyorsa genellikle varsayılan olarak masaüstü öncelikli moda geçer.
  • Cihaz duruşu: Dönüştürülebilir cihazlarda mod, fiziksel yönlendirmeye göre değişebilir (örneğin, klavye arkaya çevrildiğinde öncelikle dokunma moduna geçme).

Teknik Uygulama

Bu durumun "doğru kaynağı", görüntüleme pencere modu, özellikle de ekranın TaskDisplayArea pencere modudur. Kabuk ve Başlatıcı bileşenleri, bu duruma DisplayAreaInfo veya ekran bağlamının WindowConfiguration aracılığıyla erişebilir.

Ekran başına pencereli görüntüleme

Android 17 ve sonraki sürümlerde, Display.canHostTasks tarafından tanımlanan görevleri barındırabilen ekranlarda WindowManager (WM), özgün donanım üreticilerinin (OEM'ler) yapılandırabileceği ölçütlere göre masaüstü pencereli görüntüleme için uygunluğu belirler. Varsayılan olarak, WM aşağıdaki ölçütleri kontrol eder:

  • Serbest biçimli pencereleme desteği
  • Sistem süslemelerinin etkinleştirilmesi
  • Varsayılan ekran veya içerik modu anahtarının etkinleştirilmesi

Bir ekranın uygunluğu değiştiğinde WM, IDisplayWindowListener.onDesktopModeEligibleChanged işlevini çağırır. Gizli API, ekranın pencere oluşturmaya uygun olup olmadığını döndürür. WindowManager.isEligibleForDesktopMode WM kabuğu bu çağrıyı yakalar ve ekran uygun hale gelirse ekranın pencereli görüntülemeyi destekleyip desteklemediğine karar verir ve gerekli kaynakları ayırır.