Standart düzenler

Standart düzenler, çeşitli form faktörlerinde optimum kullanıcı deneyimi sağlayan kanıtlanmış, çok yönlü düzenlerdir.

Standart düzenleri gösteren büyük ekranlı cihazların tasviri.

Resmi düzenler, küçük ekranlı telefonların yanı sıra tabletler, katlanabilir cihazlar ve ChromeOS cihazları destekler. Materyal Tasarım rehberliğinden yararlanılarak oluşturulan düzenler hem estetik hem de işlevseldir.

Android çerçevesi, düzenlerin uygulanmasını kolay ve güvenilir hale getiren özel bileşenler içerir.

Standart düzenler, harika uygulamaların temelini oluşturan ilgi çekici ve verimliliği artıran kullanıcı arayüzleri oluşturur.

Uyarlanabilir uygulama kanonik düzenleri hakkında bilginiz varsa ancak hangi Android API'lerin kullanılacağından emin değilseniz uygulamanızın kullanım alanları için hangi düzenin doğru olduğunu belirleme konusunda yardım almak üzere Uygulanabilirlik bölümüne gidin.

liste-ayrıntı

Liste-ayrıntı düzeninin taslağı.

Liste ayrıntısı düzeni, kullanıcıların açıklayıcı veya ek bilgiler içeren öğe listelerini (öğe ayrıntısı) keşfetmesine olanak tanır.

Düzen, uygulama penceresini yan yana iki panele ayırır: biri liste, diğeri ayrıntılar içindir. Kullanıcılar, öğe ayrıntılarını görüntülemek için listeden öğe seçer. Ayrıntılardaki derin bağlantılar, ayrıntılar bölmesinde ek içerik gösterir.

Genişletilmiş genişlikteki ekranlar (Pencere boyutu sınıflarını kullanma bölümüne bakın) hem listeyi hem de ayrıntıları aynı anda gösterir. Bir liste öğesinin seçilmesi, ayrıntı bölmesini seçili öğeyle ilgili içeriği gösterecek şekilde günceller.

Orta ve kompakt genişlikli ekranlarda, kullanıcının uygulamayla etkileşimine bağlı olarak liste veya ayrıntı gösterilir. Yalnızca liste göründüğünde, bir liste öğesi seçildiğinde listenin yerine ayrıntı gösterilir. Sadece ayrıntı görünürken geri düğmesine basıldığında liste yeniden görüntülenir.

Cihaz yönü değişiklikleri veya uygulama penceresi boyutu değişiklikleri gibi yapılandırma değişiklikleri, ekranın pencere boyutu sınıfını değiştirebilir. Liste ayrıntısı düzeni, uygulama durumunu koruyarak buna göre yanıt verir:

  • Hem liste hem de ayrıntılar panelini gösteren genişletilmiş genişlikteki bir ekran orta veya kompakt olarak daraltılırsa ayrıntılar paneli görünür durumda kalır ve liste paneli gizlenir
  • Orta veya kompakt bir ekranda yalnızca ayrıntı penceresi görünürse ve pencere boyutu sınıfı genişletilecek şekilde genişlerse liste ve ayrıntı birlikte gösterilir ve listede ayrıntı bölmesindeki içeriğe karşılık gelen öğenin seçildiği belirtilir
  • Orta veya kompakt genişlikteki bir ekranda yalnızca liste bölmesi görünür durumdaysa ve ekran genişletilirse liste ile yer tutucu ayrıntı bölmesi birlikte gösterilir

Liste ayrıntısı; mesajlaşma uygulamaları, kişi yöneticileri, dosya tarayıcıları veya içeriğin, ek bilgileri ortaya çıkaran bir öğe listesi olarak düzenlenebildiği tüm uygulamalar için idealdir.

Şekil 1. Görüşmelerin listesini ve seçili bir görüşmenin ayrıntılarını gösteren mesajlaşma uygulaması.

Uygulama

Liste ayrıntıları düzeni; Oluşturma, görünümler ve etkinlik yerleştirme (eski uygulamalar için) gibi çeşitli teknolojilerle oluşturulabilir. Uygulamanız için hangi teknolojinin en uygun olduğuna karar verme konusunda yardım almak üzere Uygulanabilirlik bölümüne bakın.

SlidingPaneLayout kitaplığı, görünümlere veya parçalara dayalı liste-ayrıntı düzenleri uygulamak için tasarlanmıştır.

Öncelikle, XML düzeninizin kök öğesi olarak bir SlidingPaneLayout tanımlayın. Ardından, liste ve ayrıntı içeriğini temsil eden iki alt öğeyi (görüntü veya parça) ekleyin.

Liste ayrıntısı görünümleri veya parçaları arasında veri aktarmak için bir iletişim metodolojisi uygulayın. ViewModel, iş mantığını depolayabilmesi ve yapılandırma değişikliklerine dayanabilmesi nedeniyle önerilir.

SlidingPaneLayout, listenin ve ayrıntının birlikte mi yoksa ayrı ayrı mı gösterileceğini otomatik olarak belirler. Her ikisini de barındıracak kadar yatay alana sahip bir pencerede liste ve ayrıntı yan yana görünür. Yeterli alan bulunmayan bir pencerede, kullanıcının uygulamayla etkileşimine bağlı olarak liste veya ayrıntı gösterilir.

Örnek uygulama için Kayan bölmeli List-detail örneğine bakın.

Etkinlik yerleştirme

Birden çok etkinlik içeren eski uygulamaların, iki etkinliği aynı ekranda yan yana veya yığın halinde (biri diğeriyle çakışıyor) görüntülemesini sağlamak için etkinlik yerleştirmeyi kullanın. Uygulamanız, liste ayrıntısı düzeninin listesini ve ayrıntısını ayrı etkinliklerde uyguluyorsa etkinlik yerleştirme, kod yeniden düzenlemesi yapmadan veya çok az kod yeniden düzenlemesi yaparak liste ayrıntısı düzeni oluşturmanıza olanak tanır.

XML yapılandırma dosyası kullanarak görev penceresi bölme belirtip etkinlik yerleştirme işlemini uygulayın. Bölme, bölmeyi başlatan birincil etkinliği ve ikincil bir etkinliği tanımlar. Pencere boyutu sınıfı kesme noktalarını kullanarak bölme için minimum görüntü genişliği belirtin. Görüntü genişliği minimum kesme noktasının altına düştüğünde etkinlikler birbirinin üzerine binecek şekilde gösterilir. Örneğin, minimum ekran genişliği 600 dp ise etkinlikler kompakt ekranlarda birbirinin üzerine binecek şekilde, orta ve genişletilmiş ekranlarda ise yan yana gösterilir.

Etkinlik yerleştirme, Android 12L (API düzeyi 32) ve sonraki sürümlerde desteklenir ancak cihaz üreticileri tarafından uygulanırsa daha düşük API düzeylerinde de kullanılabilir. Bir cihazda etkinlik yerleştirme kullanılamadığında, yedek davranış, kullanıcının uygulamayla etkileşimine bağlı olarak liste etkinliğinin veya ayrıntı etkinliğinin uygulama penceresinin tamamını kaplamasına neden olur.

Daha fazla bilgi için Etkinlik yerleştirme başlıklı makaleyi inceleyin.

Örnek uygulama için Etkinlik yerleştirme içeren liste ayrıntısı örneğine bakın.

Feed

Feed düzeninin wireframe'i.

Feed düzeni, çok sayıda içeriğin hızlı ve kolay bir şekilde görüntülenmesi için eşdeğer içerik öğelerini yapılandırılabilir bir ızgara içinde düzenler.

Boyut ve konum, içerik öğeleri arasında ilişkiler oluşturur.

İçerik grupları, öğeleri aynı boyutta yaparak ve birlikte konumlandırarak oluşturulur. Öğeler, yakındaki öğelerden daha büyük yapılarak dikkati üzerine çeker.

Kartlar ve listeler, feed düzenlerinin yaygın bileşenleridir.

Tablo, tek bir kaydırılabilir sütundan çok sütunlu bir içerik kaydırmalı feed'e uyum sağlayabildiğinden feed düzeni neredeyse her boyuttaki ekranı destekler.

Feed'ler özellikle haber ve sosyal medya uygulamaları için uygundur.

Şekil 2. Farklı boyutlarda kartlarda gönderileri gösteren sosyal medya uygulaması.

Uygulama

RecyclerView, tek bir sütunda çok sayıda öğeyi verimli bir şekilde oluşturur. GridLayoutManager, öğeleri bir ızgara şeklinde düzenler ve öğe boyutlarının ve aralıkları yapılandırmanıza olanak tanır.

Öğeler için izin verilen minimum genişliği ayarlamak amacıyla ızgara sütunlarını mevcut görüntüleme alanının boyutuna göre yapılandırın.

Öğe başına bir kapsam olan GridLayoutManager varsayılan kapsam stratejisi, özel bir SpanSizeLookup oluşturularak geçersiz kılınabilir. Bazı öğeleri diğerlerinden daha belirgin hale getirmek için aralığı ayarlayın.

Yalnızca bir sütun için yeterli alana sahip kompakt genişlikteki ekranlarda GridLayoutManager yerine LinearLayoutManager kullanın.

Örnek uygulama için Görüntüleme içeren feed örneğine bakın.

Destekleyici bölme

Destekleyici panel düzeninin taslağı.

Destekleyici bölme düzeni, uygulama içeriğini birincil ve ikincil ekran alanlarına ayırır.

Birincil görüntüleme alanı, uygulama penceresinin büyük kısmını (genellikle üçte ikisi) kaplar ve ana içeriği barındırır. İkincil görüntüleme alanı, uygulama penceresinin geri kalanını kaplayan ve ana içeriği destekleyen içerikleri sunan bir paneldir.

Destekleyici panel düzenleri, yatay yönde genişletilmiş genişlikteki ekranlarda (Pencere boyutu sınıflarını kullanma bölümüne bakın) iyi çalışır. Orta veya kompakt genişlikteki ekranlar, içerik daha dar ekran alanlarına uyarlanabilirse ya da ek içerik başlangıçta menü veya düğme gibi bir kontrol aracılığıyla erişilebilen alt veya yan bir sayfada gizlenebiliyorsa hem birincil hem de ikincil ekran alanlarının gösterilmesini destekler.

Destekleyici bölme düzeni, birincil ve ikincil içerik arasındaki ilişki açısından liste ayrıntısı düzeninden farklıdır. İkincil bölme içeriği yalnızca birincil içerikle ilişkili olarak anlamlıdır. Örneğin, destekleyici bölme araç penceresi tek başına alakasızdır. Bununla birlikte, liste ayrıntısı düzeninin ayrıntı penceresindeki ek içerik, birincil içerik (örneğin, bir ürün listelemesindeki bir ürünün açıklaması) olmadığında bile anlamlıdır.

Destek bölmesi için kullanım örnekleri şunlardır:

  • Üretkenlik uygulamaları: Destekleyici bölmede yorumları bulunan bir doküman veya e-tablo
  • Medya uygulamaları: Destekleyici bir bölmede ilgili videoların listesiyle desteklenen bir yayın videosu veya oynatma listesiyle desteklenen bir müzik albümünün tasviri
  • Arama ve referans uygulamaları: Destekleyici bölmede sonuçların yer aldığı bir sorgu giriş formu
Şekil 3. Destek bölmesinde ürün açıklamaları bulunan alışveriş uygulaması.

Uygulama

Destekleyici bölme düzeni, LinearLayout veya ConstraintLayout gibi bir yardımcı düzen kullanılarak uygulanır. Pencere boyutu sınıflarını belirleme kullanabileceğiniz yatay görüntüleme alanını üç kategori: kompakt (< 600 dp), orta (>= 600 dp) ve genişletilmiş (>= 840 dp).

Her pencere boyutu sınıfı için düzenleri aşağıdaki gibi tanımlayın:

  • Kompakt: Uygulama kaynakları layout klasörüne, destekleyici bölmeyi ana içeriğin altına veya alt sayfanın içine yerleştiren içerikleri yerleştirin.
  • Aracı: layout-w600dp klasöründe, destekleyici bölme içeriğini sağlayın. ana içerik ve destekleyici bölmenin yan yana oluşturulmasına neden olur. yatay ekran alanı eşit olarak bölünüyor
  • Genişletilmiş: layout-w840dp klasörüne destekleyici bölme içeriğini ekleyin Böylece, ana içerik ve destekleyici bölmenin yan yana oluşturulması sağlanmış olur. Ancak destekleyici bölme yatay alanın yalnızca% 30'unu kaplar. %70'ini ana içeriğe bırakın.

Ana içerik ileViewModel ya da bunların bir kombinasyonu kullanılarak destekleyici bölmede gösterilir.

Uygulama örnekleri için aşağıdaki örneklere bakın:

Geçerlilik

Standart düzenler, kolay erişim ve derinlemesine keşif için içeriğin çok yönlü sunumlarını oluşturur. Uygulamanızın kullanım alanları için en uygun düzen ve uygulama stratejisini belirlemek üzere aşağıdaki akış şemasını kullanın.

Farklı uygulama türlerinde uygulanan standart düzen örnekleri için büyük ekran galerisine bakın.

Şekil 4. Büyük ekran için canonical düzen karar ağacı.

Ek kaynaklar