Masaüstü pencerelerini destekleme

Masaüstü pencerelemesi, kullanıcıların yeniden boyutlandırılabilir biçimde birden fazla uygulamayı aynı anda çalıştırmasına olanak tanır. uygulama pencerelerini kullanarak masaüstüne benzer çok yönlü bir deneyim sunar.

Şekil 1'de, masaüstü penceresiyle ekranın düzenini görebilirsiniz. etkin. Önemli noktalar:

  • Kullanıcılar aynı anda birden fazla uygulamayı yan yana çalıştırabilir.
  • Görev çubuğu, çalışan uygulamaları gösteren ekranın alt kısmında sabit bir konumdadır. Kullanıcılar hızlı erişim için uygulamaları sabitleyebilir.
  • Yeni özelleştirilebilir başlık çubuğu, küçültme ve büyütme gibi denetimlerle her pencerenin üst kısmını süsler.
Şekil 1. Bir tablette masaüstü pencereleme.

Uygulamalar, Android tabletlerde varsayılan olarak tam ekranda açılır. Bir uygulamayı masaüstü penceresinde başlatmak için ekranın üst kısmındaki pencere tutamacını basılı tutun ve tutamacın ucunu kullanıcı arayüzünde sürükleyin (Şekil 2'de gösterildiği gibi).

Bir uygulama masaüstü penceresinde açıkken, diğer uygulamalar masaüstü pencerelerinde şu şekilde açılır: olur.

Şekil 2. Masaüstü pencerelerine girmek için uygulama penceresi tutma yerini basılı tutup sürükleyin.

Kullanıcılar, pencere simgesine dokunduğunuzda veya tıkladığınızda ya da Meta tuşu (Windows, Komut veya Arama) + Ctrl + Aşağı klavye kısayolunu kullandığınızda pencere simgesinin altında görünen menüden de masaüstü pencere modunu etkinleştirebilir.

Kullanıcılar tüm etkin pencereleri kapatarak veya ekran görüntülerini tutarak masaüstü penceresinden çıkar bir masaüstü penceresinin üst kısmındaki pencere tutamacı simgesini tıklayın ve uygulamayı görebilirsiniz. Meta + H klavye kısayolu da masaüstü pencere modundan çıkar ve uygulamaları tekrar tam ekranda çalıştırır.

Masaüstü pencere moduna dönmek için Son Aramalar ekranındaki masaüstü alanı karosuna dokunun veya bu karoyu tıklayın.

Yeniden boyutlandırılabilirlik ve uyumluluk modu

Masaüstü penceresinde, kilitli yönü olan uygulamalar serbestçe yeniden boyutlandırılabilir. Yani bir etkinlik dikey yönde kilitli olsa bile kullanıcılar uygulamayı yatay yönde bir pencereye yeniden boyutlandırabilir.

Şekil 3. Dikey olarak kısıtlanmış bir uygulamanın penceresini yatay olarak yeniden boyutlandırma

Yeniden boyutlandırılamaz olarak belirtilen uygulamalar (yani resizableActivity = false) aynı en boy oranını koruyarak kullanıcı arayüzlerini ölçeklendiriyor.

Şekil 4. Yeniden boyutlandırılamayan bir uygulamanın kullanıcı arayüzü, pencerenin boyutu değiştikçe ölçeklenir.

Yönü kilitleyen veya yeniden boyutlandırılamaz olarak belirtilen kamera uygulamalarında, özel işlem: Pencere tamamen yeniden boyutlandırılabilir, ancak vizör aynı en boy oranını koruyor. Uygulamaların varsayılan olarak uygulamalar her zaman dikey veya yatay olarak çalışır, uygulamaların kodlarını önizlemenin veya yakalanan görüntünün yanlış hesaplanmasına yol açan varsayımlar uzatılmış, yan veya baş aşağı resimlere neden olan yön veya en boy oranı.

Uygulamalar tam duyarlı kamera vizörlerini uygulamaya hazır olana kadar özel işlem, yanlış varsayımların yol açabileceği etkileri azaltan daha temel bir kullanıcı deneyimi sağlar.

Kamera uygulamaları için uyumluluk modu hakkında daha fazla bilgi edinmek istiyorsanız Cihaz uyumluluk modu başlıklı makaleyi inceleyin.

Şekil 5. Pencere boyutu değiştikçe kamera vizörü en boy oranını korur.

Özelleştirilebilir başlık içi eklemeler

Masaüstü penceresinde çalışan tüm uygulamaların bir başlık çubuğu vardır. yoğun modu kullanın.
. Uygulamanızın içeriğinin başlık çubuğu tarafından kapatılmadığından emin olun. Başlık çubuğu, altyazı çubuğu içe yerleştirilme türüdür: androidx.compose.foundation.layout.WindowInsets.Companion.captionBar(); görüntülerde, sistem çubuklarının bir parçası olan WindowInsets.Type.captionBar().

Uygulamanızda içeriği uçtan uca görüntüleme ve Compose'da pencere iç kümelerini işleme bölümünde eklerin işlenmesi hakkında daha fazla bilgi edinebilirsiniz.

Başlık çubuğu da özelleştirilebilir. Android 15, uygulamaların başlık çubuğuna özel içerik çizmesine olanak tanımak için başlık çubuğunu şeffaf hale getiren APPEARANCE_TRANSPARENT_CAPTION_BAR_BACKGROUND görünüm türünü kullanıma sundu.

Bu durumda, uygulamaların içeriklerinin üst kısmını, sistem tarafından uygulamanın üst kısmındaki şeffaf altyazı çubuğunda çizilen sistem altyazı öğeleri (kapatma ve büyütme düğmeleri) hariç olmak üzere altyazı çubuğuna (arka plan, özel içerik vb.) benzeyecek şekilde biçimlendirmesi gerekir.

Uygulamalar, durum çubuğu ve gezinme çubuğunun değiştirilmesine benzer şekilde APPEARANCE_LIGHT_CAPTION_BARS simgesini kullanarak açık ve koyu temalar için altyazıdaki sistem öğelerinin görünümünü değiştirebilir.

Android 15 ayrıca WindowInsets#getBoundingRects() Bu yöntem, uygulamaların altyazı çubuğu eklerini daha ayrıntılı olarak incelemesini sağlar. Uygulamalar, sistemin sistem öğelerini çektiği alanlar ile Uygulamaların, sistem öğeleri çakışmadan özel içerik yerleştirebileceği kullanılmayan alanlar.

Rect listesi tarafından döndürülen nesneler, sisteme ait bölgelerin kaçınılmalıdır. Kalan alan (dikdörtgenler, altyazı çubuğu girintilerinden çıkarılarak hesaplanır), uygulamanın sistem öğeleriyle örtüşmeden ve giriş alabilir şekilde çizim yapabileceği alandır.

Özel üstbilgilerin uygulanmasından önce ve sonra Chrome.
Şekil 6. Chrome'da özel başlıkların uygulanmadan önceki ve sonraki sürümleri.

Çoklu görev ve çoklu örnek desteği

Çoklu görev, masaüstü pencerelerinin merkezinde yer alır ve birden fazla Uygulamanızın örnekleri, kullanıcıların üretkenliğini önemli ölçüde artırabilir.

Android 15, PROPERTY_SUPPORTS_MULTI_INSTANCE_SYSTEM_UI özelliğini kullanıma sunar. Uygulamalar bu özelliği ayarlayarak sistem kullanıcı arayüzünün gösterilmesi gerektiğini belirtebilir. Bu durumda uygulama, birden fazla örnek olarak başlatılabilir.

Uygulama örneklerini sürükleme hareketleriyle yönetme

Çoklu pencere modunda kullanıcılar, bir görüntüleme öğesini uygulamanın penceresinden sürükleyerek yeni bir uygulama örneği başlatabilir. Kullanıcılar aynı uygulamanın örnekleri arasında öğeleri de taşıyabilir.

Şekil 7. Bir sekmeyi masaüstü penceresinden sürükleyerek yeni bir Chrome örneği başlatın.

Android 15'te, sürükle ve bırak davranışını özelleştirmek için iki işaret bulunur:

  • DRAG_FLAG_START_INTENT_SENDER_ON_UNHANDLED_DRAG: Bırakma işlemini görünen bir pencere işlemiyorsa, işlenmemiş bir sürüklemenin başlatılması için sisteme devredilmesi gerektiğini belirtir. Bu işareti kullanan arayan, ClipData için başlatılacak bir etkinliğe ait değişmez bir IntentSender içeren bir Item sağlamalıdır (ClipData.Item.Builder#setIntentSender() bölümüne bakın). Sistem, geçerli ekran boyutu veya pencere modu gibi faktörlere bağlı olarak intent'i başlatabilir veya başlatmayabilir. Sistem, niyeti başlatmazsa normal sürükle ve bırak akışıyla iptal edilir.

  • DRAG_FLAG_GLOBAL_SAME_APPLICATION: Bir sürükleme işleminin pencere sınırlarını aşabileceğini belirtir (aynı uygulamanın birden fazla örneği için).

    startDragAndDrop() olduğunda bu işaret grubuyla çağrılır; yalnızca aynı öğeye ait görünür pencereler hem de sürükleme işlemine katılıp sürüklenen içeriği alabilirler.

8.Şekil Bir sekmeyi, Chrome uygulamasının iki örneği arasında taşıma.
'nı inceleyin.

Ek optimizasyonlar

Uygulama başlatma işlemlerini özelleştirin ve uygulamaları masaüstü penceresinden tam ekrana geçirin.

Varsayılan boyutu ve konumu belirtin

Bazı uygulamalar, yeniden boyutlandırılabilir olsa bile kullanıcı değeri sunmak için büyük bir pencereye ihtiyaç duymaz. Şunu kullanabilirsiniz: ActivityOptions#setLaunchBounds() yöntemini kullanın.

Masaüstü alanından tam ekran moduna girme

Uygulamalar, Activity#requestFullScreenMode() çağrısını yaparak programlı olarak tam ekran moduna girebilir. Bu yöntem, uygulamayı doğrudan masaüstü penceresinden tam ekran moduna getirir.