Oluşturma sırasında kesmeler

Ekran kesimi, bazı cihazlarda ekran yüzeyine uzanan bir alandır. Bu sayede cihazın ön tarafında önemli sensörler için yer açılırken kenardan kenara bir deneyim sunulur.

Dikey modda kesit örneği
Şekil 1. Dikey modda kesit örneği
Yatay modda kesit örneği
Şekil 2. Yatay modda kesit örneği

Android, Android 9 (API düzeyi 28) ve sonraki sürümleri çalıştıran cihazlarda ekran kesiklerini destekler. Ancak cihaz üreticileri, Android 8.1 veya daha eski sürümlerin yüklü olduğu cihazlarda da ekran kesiklerini destekleyebilir.

Bu sayfada, kesme alanı (yani ekran yüzeyinde kesmeyi içeren uçtan uca dikdörtgen) ile çalışmanın yanı sıra Oluştur'da kesime sahip cihazlar için desteğin nasıl uygulanacağı açıklanmaktadır.

Varsayılan büyük/küçük harf kullanımı

API düzeyi 34 veya daha düşük sürümleri hedefleyen uygulamalar ya da enableEdgeToEdge çağrısı yapmayan etkinlikler, ekran kesiğini içeren bir sistem çubuğuna çizim yapmadığı sürece varsayılan olarak kesik bölgeye çizim yapmaz.

Android 15 veya sonraki sürümleri çalıştıran cihazlarda API düzeyi 35 veya üstünü hedefleyen uygulamalar ya da enableEdgeToEdge çağıran etkinlikler, kesme bölgesine çizim yapar.

Diğer bir deyişle, LAYOUT_IN_DISPLAY_CUTOUT_MODE_DEFAULT, LAYOUT_IN_DISPLAY_CUTOUT_MODE_SHORT_EDGES ve LAYOUT_IN_DISPLAY_CUTOUT_MODE_NEVER, Android 15 veya sonraki sürümleri çalıştıran cihazlarda API düzeyi 35 veya daha yüksek sürümleri hedefleyen uygulamalardaki sabit olmayan pencereler için LAYOUT_IN_DISPLAY_CUTOUT_MODE_ALWAYS olarak yorumlanır.

Kesme kenarı bilgilerini manuel olarak işleme

Kesme alanının önemli metinleri, kontrolleri veya hassas dokunma tanıma gerektiren etkileşimli öğeleri gizlemesini önlemek için kesme bilgileriyle ilgili işlem yapmanız gerekir (kesme alanında dokunma hassasiyeti daha düşük olabilir). Kesintileri işlerken durum çubuğu yüksekliğini sabit kodlamayın. Aksi takdirde, içeriklerin örtüşmesine veya kesilmesine neden olabilirsiniz. Bunun yerine, aşağıdaki yöntemlerden birini kullanarak kesiklerin üstesinden gelin:

Oluşturma için, kompozisyonlarınızdaki kesik iç içe eklemeleri işlemek üzere displayCutout, safeContent veya safeDrawing kullanmanızı öneririz. Bu yaklaşım, gerektiğinde ekrandaki kesik dolgusunu dikkate almanıza veya gerekmediğinde yok saymanıza olanak tanır.

Canvas(modifier = Modifier.fillMaxSize().windowInsetsPadding(WindowInsets.displayCutout)) {
    drawRect(Color.Red, style = Stroke(2.dp.toPx()))
}

İçeriğinizin, kesiklerle nasıl oluşturulduğunu test etme

Uygulamanızın tüm ekranlarını ve deneyimlerini test ettiğinizden emin olun. Mümkünse farklı türde kesiklere sahip cihazlarda test edin. Kesikli ekrana sahip bir cihazınız yoksa aşağıdakileri yaparak Android 9 veya sonraki bir sürümün yüklü olduğu herhangi bir cihazda ya da emülatörde yaygın kesik ekran yapılandırmalarını simüle edebilirsiniz:

  1. Geliştirici seçenekleri'ni etkinleştirin.
  2. Geliştirici seçenekleri ekranında Çizim bölümüne gidip Kesimli ekranı simüle et'i seçin.
  3. Çıkarma türünü seçin.
    Emülatörde ekran kesimini simüle etme
    Şekil 3. İçeriğinizin nasıl oluşturulduğunu test etmek için Geliştirici seçenekleri'ni kullanın.