2. katman: Uyarlanabilir optimizasyon

Optimize edilmiş uygulamalar, durum geçişleri de dahil olmak üzere tüm ekran türlerini ve cihaz durumlarını tam olarak destekler.

Üç kalite katmanının dikey olarak üst üste yığılmış katmanlar olarak gösterimi. Ortadaki katman vurgulanmıştır.

Kurallar

Uygulamanızı tüm ekran boyutlarına ve cihaz durumlarına uyum sağlayacak şekilde geliştirin.

Kullanıcı arayüzü

Kural kimliği Test kimlikleri Açıklama
Responsive_adaptive_layouts T-Layout_Flow

Uygulama, tüm ekran boyutları için tasarlanmış duyarlı ve uyarlanabilir düzenlere sahip. Tüm düzenler duyarlıdır (Kullanıcı arayüzünüzü duyarlı düzenlere taşıma bölümüne bakın). Uyarlanabilir düzenlerin uygulanması, pencere boyutu sınıflarına göre belirlenir.

Uygulama kullanıcı arayüzü aşağıdakileri içerebilir:

  • Daha büyük pencere boyutlarında tam gezinme panellerine genişleyen öncü gezinme rayları
  • Pencere boyutundaki değişikliklere uyum sağlamak için sütun sayısını ölçeklendiren ızgara düzenleri
  • Büyük ekranlarda metin sütunları
  • Masaüstü ekran boyutlarında varsayılan olarak açık, daha küçük ekranlarda kapalı olan arka kenar panelleri

Büyük ekran alanından yararlanmak için çok bölmeli düzenler oluşturun (uygun olduğunda). Standart düzenler bölümüne bakın.

Jetpack Compose uygulamalarında, çok bölmeli kullanıcı arayüzleri oluşturmak için uyarlanabilir düzenler (ör. ListDetailPaneScaffold) kullanın. Eski etkinliğe dayalı uygulamalarda etkinlik yerleştirme, etkinlikleri yan yana göstererek çok bölmeli düzenleri etkinleştirir.

UI_Secondary_Elements T-Layout_Flow

Modallar, bağlam menüleri ve diğer ikincil öğeler tüm ekran türlerinde ve cihaz durumlarında doğru şekilde biçimlendirilmiştir. Örneğin:

  • Alt sayfalar, büyük ekranlarda tam genişlikte değildir. (Genişlemeyi önlemek için maksimum genişlik uygulayın.) Alt sayfalarda Duyarlı düzen bölümüne bakın.
  • Düğmeler, büyük ekranlarda tam genişlikte değildir. Düğmeler bölümünde Uyarlanabilir tasarım'a bakın.
  • Metin alanları ve kutular, büyük ekranlarda tam genişliğe kadar uzamaz. Metin alanları bölümünde Uyarlanabilir tasarım konusuna bakın.
  • Küçük düzenleme menüleri veya modalları ekranın tamamını kaplamaz ve kullanıcı için bağlamı mümkün olduğunca korur. Menüler bölümüne bakın.
  • Bağlam menüleri, kullanıcının seçtiği öğenin yanında görünür. Menüler bölümündeki "Bağlam menüleri" konusuna bakın.
  • Gezinme çubukları, büyük ekranlarda daha iyi ergonomi için gezinme sütunlarıyla değiştirilir. Gezinme sütunu'na bakın.
  • Gezinme çekmeceleri, genişletilmiş gezinme rayları olarak güncellendi. Gezinme çekmecesi bölümüne bakın.
  • İletişim kutuları en son materyal bileşenine güncellendi. İletişim kutuları bölümüne bakın.
  • Resimler uygun çözünürlükte gösterilir ve uzatılmaz veya kırpılmaz.
Dokunma Hedefleri T-Touch_Targets Dokunma hedefleri en az 48 dp'dir. Materyal Tasarım Hedef boyutlar yönergelerine bakın.
Drawable_Focus T-Drawable_Focus Etkileşimli özel çizilebilir öğeler için odaklanmış durum oluşturulur. Özel çizilebilir öğe, Android çerçevesi tarafından sağlanmayan görsel kullanıcı arayüzü öğeleridir. Kullanıcılar özel bir çizilebilir öğeyle etkileşim kurabiliyorsa cihaz dokunma modunda değilken çizilebilir öğe odaklanabilir olmalı ve odaklanmış durumun görsel bir göstergesi görünür olmalıdır.

Klavye, fare ve dokunmatik yüzey

Kural kimliği Test kimlikleri Açıklama
Keyboard_Navigation T-Keyboard_Navigation Uygulamadaki ana görev akışları, Sekme ve ok tuşlarıyla gezinme dahil olmak üzere klavyeyle gezinmeyi destekler. Daha erişilebilir uygulamalar geliştirme başlıklı makaleyi inceleyin.
Keyboard_Shortcuts T-Keyboard_Shortcuts Uygulama; seçme, kesme, kopyalama, yapıştırma, geri alma ve yeniden yapma gibi sık kullanılan işlemler için klavye kısayollarını destekler. Klavye, fare ve dokunmatik yüzey bölümüne bakın.
Keyboard_Media_Playback T-Keyboard_Media_Playback Klavye, medya oynatmayı kontrol etmek için kullanılabilir. Örneğin, Boşluk tuşu medyayı oynatır ve duraklatır.
Keyboard_Send T-Keyboard_Send Klavyedeki Enter tuşu, iletişim uygulamalarında gönder işlevini yerine getirir.
Keyboard_Exit T-Keyboard_Exit Klavyedeki Esc tuşu, bir işlemi sonlandıran veya geri alan bir çıkış işlevi gerçekleştirir. Örneğin:
  • Modalları, iletişim kutularını, pop-up'ları ve menüleri kapatır.
  • Arama metnini temizler veya arama odağını kaldırır
  • Klavye odağını iptal eder
  • Tam ekran video, PiP, tam ekran modu veya slayt gösterilerinden çıkar.
  • İlerleme çubukları veya menüler gibi ekrandaki kontrolleri kapatır.
  • Sonrakine geçme / otomatik oynat zamanlayıcılarını iptal eder.
  • Seçili tüm öğelerin seçimini kaldırır.
  • Yeniden adlandırma/düzenleme işlemini kaydetmeden iptal eder.
  • Kırpma/dönüştürme araçlarından çıkar ve değişiklikleri siler.
Context_Menus T-Context_Menus Bağlam menülerine, fare ve dokunmatik yüzeyde sağ tıklama (ikincil fare düğmesi veya ikincil dokunma) işlemiyle erişilebilir.
Content_Zoom T-Content_Zoom Uygulama içeriği, farenin kaydırma tekerleği (Control veya Ctrl tuşuna basarak) ve dokunmatik yüzeyde sıkıştırma hareketleri kullanılarak yakınlaştırılabilir.
Hover_States T-Hover_States İşlem yapılabilir kullanıcı arayüzü öğeleri, fare ve dokunmatik yüzey kullanıcılarına öğelerin etkileşimli olduğunu belirtmek için fareyle üzerine gelme durumlarına (uygun olduğunda) sahiptir.

Testler

Uygulamanızın optimize edildiğinden ve tüm ekran yapılandırmalarına yanıt verdiğinden emin olmak için aşağıdaki testleri gerçekleştirin.

Kullanıcı arayüzü

Test Kimliği Kural kimlikleri Açıklama
T-Layout_Flow Responsive_adaptive_layouts,
UI_Secondary_Elements

Uygulamayı telefonlar, katlanabilir telefonlar, küçük ve büyük tabletler ile masaüstü cihazlar dahil olmak üzere çok çeşitli ekran boyutlarına sahip cihazlarda çalıştırın. Uygulamayı cihazlarda çoklu pencere modunda çalıştırın.

Uygulama düzeninin farklı ekran ve pencere boyutlarına yanıt verdiğini ve uyum sağladığını doğrulayın. Uygulamanın gezinme raylarını genişletip daralttığını, ızgara düzenlerindeki sütun sayısını ölçeklendirdiğini, metni sütunlara akıttığını ve benzeri işlemleri yapıp yapmadığını kontrol edin. Kullanıcı arayüzü öğelerinin hem estetik hem de işlevsel olarak biçimlendirilip biçimlendirilmediğini gözlemleyin.

Etkinlik yerleştirme kullanan eski uygulamalarda, etkinliklerin büyük ekranlarda yan yana, küçük ekranlarda ise üst üste gösterilip gösterilmediğini test edin.

T-Touch_Targets Touch_Targets Dokunma hedeflerinin tüm ekran boyutları ve yapılandırmaları için tutarlı, erişilebilir bir boyut ve konuma sahip olduğunu, diğer kullanıcı arayüzü öğeleri tarafından gizlenmediğini veya engellenmediğini doğrulayın. Erişilebilirlik hakkında bilgi edinmek için Erişilebilirlik Tarayıcısı'na bakın.
T-Drawable_Focus Drawable_Focus Etkileşimli özel çizilebilir öğe içeren her uygulama ekranında, çizilebilir öğenin harici klavye, d-pad veya kullanıcı arayüzü öğelerine odaklanmayı sağlayan başka bir cihaz kullanılarak odaklanabildiğini doğrulayın. Odaklanmış durumun görsel bir göstergesinin göründüğünü doğrulayın. İlgili bilgiler için Compose odaklanma belgelerine bakın.

Klavye, fare ve dokunmatik yüzey

Test Kimliği Kural kimlikleri Açıklama
T-Keyboard_Navigation Keyboard_Navigation Harici bir klavyenin Sekme ve ok tuşlarını kullanarak uygulamanın odaklanılabilir bileşenleri arasında gezinin.
T-Keyboard_Shortcuts Keyboard_Shortcuts Seçme, kesme, kopyalama, yapıştırma, geri alma ve yeniden yapma işlemlerini gerçekleştirmek için harici klavyedeki klavye kısayollarını kullanın.
T-Keyboard_Media_Playback Keyboard_Media_Playback Medya oynatmayı başlatmak, durdurmak, duraklatmak, geri ve ileri sarmak için harici klavye kullanın.
T-Keyboard_Send Keyboard_Send Veri göndermek veya göndermek için harici bir klavyenin Enter tuşunu kullanın.
T-Keyboard_Exit Keyboard_Exit

Çıkış işlevini gerçekleştirmek için harici klavyenin Esc tuşunu kullanın. Anahtarın aşağıdakileri yaptığını doğrulayın (geçerli olduğu durumlarda):

  • Modalları, iletişim kutularını, pop-up'ları ve menüleri kapatır.
  • Arama metnini temizler veya arama odağını kaldırır
  • Klavye odağını iptal eder
  • Tam ekran video, PiP, tam ekran modu veya slayt gösterilerinden çıkar.
  • Ekrandaki kontrolleri kapatır.
  • Sonrakine geçme / otomatik oynat zamanlayıcılarını iptal eder.
  • Seçili tüm öğelerin seçimini kaldırır.
  • Yeniden adlandırma/düzenleme işlemini kaydetmeden iptal eder.
  • Kırpma/dönüştürme araçlarından çıkar ve değişiklikleri siler.
T-Context_Menus Context_Menus Etkileşimli öğelerin bağlam menüsüne erişmek için ikincil fare düğmesini veya dokunmatik yüzeyin ikincil dokunma özelliğini kullanın.
T-Content_Zoom Content_Zoom İçeriği yakınlaştırmak ve uzaklaştırmak için farenin kaydırma tekerleğini (Control veya Ctrl tuşuyla birlikte) ve dokunmatik yüzeyde iki parmağı yakınlaştırma/uzaklaştırma hareketlerini kullanın.
T-Hover_States Hover_States Fare veya dokunmatik yüzey imlecini işlem yapılabilir kullanıcı arayüzü öğelerinin üzerine getirerek öğenin fareyle üzerine gelme durumunu etkinleştirin.