Uyarlanabilir uygulamalar tüm boyutlardaki ekranları destekler: cihaz ekranının tamamı yeniden boyutlandırılabilir. çoklu pencere modunda pencereler, dikey ve yatay yönde, katlanmış katlanabilir cihazların açılmış ekranlarından oluşur.
Yapılandırma ayarlarının ve API'lerin kısa bir listesi, uyarlanabilir derleme Ancak bazı eski ayarlar ve API'ler uyarlanabilir uygulamalarla uyumlu değil. ve kaçınılması gerekir.
Yeniden boyutlandırılabilirlik
Uyarlanabilir uygulamalar, uygulamanın yeniden boyutlandırılabilirliğini ve çoklu pencere modunu destekler.
<activity>
ve resizeableActivity
özelliği
<application>
manifest öğeleri, çoklu pencereyi etkinleştirir veya devre dışı bırakır
Android 11 (API düzeyi 30) ve önceki sürümlerde kullanılabilir. Android 12 (API düzeyi 31) ve
daha büyük ekranlar, boyutu fark etmeksizin
özelliğini gönderin. Daha fazla bilgi için Çoklu pencere modunu destekleme başlıklı makaleye göz atın.
Uygulamanızın çoklu pencere, çoklu görev senaryolarında katılımcı olmasını sağlayın: kullanıcı verimliliğini ve memnuniyetini artırdı.
Uygulamanız 24'ün altındaki API düzeylerini hedefliyorsa resizeableActivity="true"
değerini ayarlayın;
Aksi takdirde, unutun. Android 7.0'da (API) varsayılan olarak true
24. seviye) ve daha üst düzey kullanıcılar için uygundur.
Hiçbir API düzeyi için resizeableActivity="false"
öğesi ayarlamayın. Uygulamanızı hariç tutmayın
kullanım alanlarından
yararlanabilir.
Yön
Uyarlanabilir uygulamalar, ekrandan bağımsız olarak dikey ve yatay yönü destekler pencere modu seçin.
screenOrientation
manifest ayarı, etkinlik yönünü kısıtlar.
screenOrientation
ayarını uygulama manifestinizden kaldırın.
Uygulamaların yönünü kilitlemek, pencere boyutu değişikliklerini engellemez. Uygulamalar,
çoklu pencere moduna girdiklerinde, cihaz katlanmış veya açık durumdayken yeniden boyutlandırılmaları
yeniden boyutlandırıldığında kullanılabilir. Uygulamanız pencerede yapılan değişiklikleri desteklemelidir
screenOrientation
özellik ayarından bağımsız olarak boyut özellikleri.
Etkinlik yönünü kısıtlama Yönü kilitleyen uygulamalar sinemaskoplu büyük ekranlı cihazlarda ve uyumsuz pencere boyutlarında.
Sinemaskoplu uygulamaların Google Play'de bulunabilirliği azalabilir tabletler, katlanabilir cihazlar ve ChromeOS cihazlar.
En boy oranı
Ekran ve pencere boyutları farklılık gösterdikçe en boy oranları da (uzun ve pencere boyutları) farklılık gösterir. dar, kare, kısa ve geniş arası.
minAspectRatio
ve maxAspectRatio
manifest ayarları kısıtlamalar
en boy oranı sabit kodlu değerlere oranıdır.
Uygulamanızı, göreli boyutlardan bağımsız olarak ekrana sığacak şekilde uyarlayın.
minAspectRatio
ve maxAspectRatio
ayarlarını uygulamanızdan kaldırın
manifest'ini kullanabilirsiniz. Dilerseniz uygulamanızın yeniden boyutlandırılabileceğinden ve en boy oranının kendi kendine yeteceğinden emin olabilirsiniz
(Yeniden boyutlandırılabilirlik bölümüne bakın).
Uygulamanızın göreli boyutlarını kontrol etmeye çalışmayın. Uygulamanız veya en boy oranıyla birlikte uygulamanız sinemaskop olmalıdır.
Kullanıcılar, Android 14 (API düzeyi 34) ve sonraki sürümlerde uygulama en boy oranını geçersiz kılabilir sinemaskoplu uygulamaları mevcut görüntüleme alanını dolduracak şekilde genişlet. Bkz. Cihaz uyumluluk modundan emin olun.
Pencere boyutu
Düzenleri farklı görüntülü reklam boyutları için optimize etmek, uyarlanabilir tasarım. Uyarlanabilir uygulamalar, cihaz yerine uygulama pencere boyutuna odaklanır ekran boyutu. Uygulama tam ekrandayken uygulama penceresi cihazın ekranıdır.
Pencere boyutu sınıfları, etkinlikleri belirlemek ve sınıflandırmak için sistematik bir yol uygulama penceresinin boyutu. Pencere olarak düzenleri değiştirerek uygulamanızı uyarlayın değişiklik gösterir.
Uygulama pencerenizin boyutunu, pencere boyutu sınıflarına göre değerlendirin.
Pencere boyutu sınıfını belirlemek için currentWindowAdaptiveInfo()
işlevini kullanın.
Compose Material 3 Uyarlanabilir kitaplığının üst düzey işlevi. Daha fazla
Uyarlanabilir uygulamalar oluşturma başlıklı makaleye göz atın.
Pencere boyutu sınıfı tanımlarının sağladığı faydayı ve yerleşik API'ler var. Pencere boyutunu hesaplamak için desteği sonlandırılmış API'leri kullanmayın.
Desteği sonlandırılmış API'ler
Eski platform API'leri, uygulama penceresini doğru şekilde ölçmüyor; bazıları da bazı sistem dekorasyonu hariç.
WindowManager#getCurrentWindowMetrics()
ve
Uygulama penceresinin boyutunu öğrenmek için WindowMetrics#getBounds()
. Tekliflerinizi otomatikleştirmek ve optimize etmek için
Görüntü yoğunluğunu öğrenmek için WindowMetrics#getDensity()
.
Pencere boyutunu belirlemek için aşağıdaki desteği sonlandırılmış Display
API'lerini kullanmayın:
getSize()
: Android 11'de (API düzeyi 30) kullanımdan kaldırıldıgetMetrics()
: Android 11'de (API düzeyi 30) kullanımdan kaldırıldıgetRealSize()
: Android 12'de (API düzeyi 31) kullanımdan kaldırıldıgetRealMetrics()
: Android 12'de (API düzeyi 31) kullanımdan kaldırıldı
Oluştur
Jetpack Compose, uyarlanabilir kullanıcı arayüzü geliştirme için tasarlanmıştır. XML yok, düzen yok
kaynak niteleyicileri yoktur. Yalnızca Kotlin tabanlı, durum bilgisiz composable'lar
Kullanıcı arayüzünüzü ve değiştiricilerinizi tanımlayan Column
, Row
ve Box
gibi
Kullanıcı arayüzüne davranış ekleyen offset
, padding
ve size
gibi
öğeler.
Compose ile geliştirin. En yeni özellikler ve sürümlerle son gelişmelerden haberdar olun.
Eski teknolojilere güvenmeyin. Uygulamanızın kullanımdan kaldırılmasına izin vermeyin.
Materyal 3 Uyarlanabilir kitaplık oluşturma
Compose Material 3 Uyarlanabilir kitaplığı, uyarlanabilir uygulamaların geliştirilmesini kolaylaştırmak.
Uygulamanızı uyarlanabilir hale getirmek için aşağıdaki API'leri kullanın:
NavigationSuiteScaffold
: Gezinme çubuğu ile gezinme çubuğu arasında geçiş yapar uygulama pencere boyutu sınıfına bağlı olarak gezinme sütunu.ListDetailPaneScaffold
: Liste ayrıntıları standart düzenini uygular. Düzeni uygulama pencere boyutuna uyarlar.SupportingPaneScaffold
: Standart destek bölmesini uygular kullanır.
Tekerleği yeniden keşfetmeyin. Geliştiricilerin üretkenlik açısından sağladığı avantajları kaçırmayın kitaplığı tarafından sağlanıyor.
Düzenler
Kullanıcılar, ek reklam öğeleriyle uygulamaların mevcut görüntüleme alanından en iyi şekilde yararlanmasını bekler. kontrol edebilirsiniz.
Uyarlanabilir uygulamalar, özellikle ekran görüntüsünde görülen değişikliklere göre düzenleri optimize eder uygulama penceresinin boyutunda veya cihazın duruşunda değişiklikler olabilir.
Pencere boyutu değiştikçe kullanıcı arayüzü bileşenlerini değiştirerek, mevcut kullanabilirsiniz. Örneğin, küçük resim sekmesinde kullanılan alt gezinme çubuğunu orta ve genişletilmiş pencerelerde dikey gezinme çubuğu için pencere boyutları. İletişim kutularını, tüm ekranlarda erişilebilir olacak şekilde yeniden konumlandırın.
Aşağıdaki gibi çok bölmeli düzenleri etkinleştirmek için içeriği bölmeler halinde düzenleyin: liste ayrıntısı ve destek bölmesi açılır.
İçerik bölmelerini kullanmıyorsanız, boşlukları doldurmak için kullanıcı arayüzü öğelerini
kullanabilirsiniz. Uzun metin satırları okumak zordur. Uzatılmış
düğmelerin tasarımı kötü görünüyor. Modifier.fillMaxWidth
kullanıyorsanız şunları kullanmayın:
Bunun tüm ekran boyutları için doğru çalışma olduğunu varsayın.
Giriş cihazları
Kullanıcılar dokunmatik ekranları yalnızca uygulamalarla etkileşimde bulunmak için kullanmaz.
Uyarlanabilir uygulamalar, harici klavyeleri, fareleri ve ekran kalemlerini destekleyerek Gelişmiş kullanıcı deneyimini geliştirmek ve kullanıcıların oluşturuyoruz.
Android çerçevesinin yerleşik işlevlerinden klavye sekmesinde gezinme ve fare ya da dokunmatik yüzey tıklama, seçme ve kaydırma. Yayınla Klavye Kısayolları Yardımcısı'nda uygulamanızın klavye kısayollarını kullanabilirsiniz.
Kullanıcıların istedikleri metinlere yazmalarını sağlamak için Jetpack Material 3 kitaplığını kullanın
TextField
bileşenini ekran kalemi ile kullanın.
Alternatif giriş yöntemlerini imkansız hale getirmeyin. Erişilebilirlik hakkında bilgi vermeyin sorunları.
Özet
- Uygulamanızı Compose ve Material 3 Adaptive kitaplığıyla geliştirin
- Pencere boyutu sınıflarını temel alan düzenler
- Çok bölmeli düzenler oluşturma
- Uygulamanızı yeniden boyutlandırılabilir hale getirin
- Etkinlik yönünü hiçbir zaman kilitleme
- En boy oranını kısıtlama
- Dokunma dışında girişi destekle
- Desteği sonlandırılan API'lerden kaçının
✓ Kullanıcılarınızın beklentilerini karşılayın: uygulamanızı, kullanıcıların her gün kullandığı cihaz çeşitliliğine göre optimize edin.
✗ Beklemeyin. Hemen kullanmaya başlayın.