Hareketle gezinmeyle uyumluluk sağlama

Android sistemi, Android 10'dan (API düzeyi 29) itibaren tamamen hareket tabanlı gezinmeyi destekler. Uygulama geliştiricilerin, uygulamalarının bu özellikle uyumlu olmasını sağlamak için yapmaları gereken iki şey vardır:

  • Uygulama içeriğini kenardan kenara genişletin.
  • Çakışan uygulama hareketlerini işleyin.

Ayrıca, Android 13 (API düzeyi 33) sürümünde telefonlar, büyük ekranlar ve katlanabilir cihazlar gibi Android cihazlar için çok yıllık bir sürümün parçası olan tahmini geri hareketi bulunuyor. Uygulama geliştiriciler, uygulamalarının tahmini geri hareketini desteklemesini sağlamak için gerekli adımları uygulayabilir.

Uçtan uca uygulama içeriği sağlayın

Kayan gezinme çubuğunun sağladığı ek ekran alanından faydalanmak için uygulamanızdaki belirli değişiklikleri yapılandırmanız gerekir.

Ayrıntılar için Uygulamanızda içeriği uçtan uca görüntüleme bölümüne bakın.

Çakışan uygulama hareketlerini işleme

Hareketle gezinme modeli, daha önce uygulama geliştiriciler tarafından kullanılan hareketlerle çakışabilir. Sonuç olarak, uygulamanızın kullanıcı arayüzünde ayarlamalar yapmanız gerekebilir.

Geri hareketlerle çakışmalar

Geri için yeni sistem hareketi, ekranın sol veya sağ kenarından içe doğru kaydırmadır. Bu durum, söz konusu alanlardaki uygulama gezinme öğelerini etkileyebilir. Ekranın sol ve sağ kenarlarındaki öğelerin işlevselliğini sürdürmek için sisteme hangi bölgelerin dokunmatik girişi alması gerektiğini belirterek geri hareketini seçmeli şekilde devre dışı bırakın. Bunu, Android 10'da kullanıma sunulan View.setSystemGestureExclusionRects() API'sine List<Rect> ileterek yapabilirsiniz. Bu yöntem androidx.core:core:1.1.0-dev01 tarihinden itibaren ViewCompat ürününde de kullanılabilir.

Örnek:

Kotlin

var exclusionRects = listOf(rect1, rect2, rect3)

fun onLayout(
        changedCanvas: Boolean, left: Int, top: Int, right: Int, bottom: Int) {
  // Update rect bounds and the exclusionRects list
  setSystemGestureExclusionRects(exclusionRects)
}

fun onDraw(canvas: Canvas) {
  // Update rect bounds and the exclusionRects list
  setSystemGestureExclusionRects(exclusionRects)
}

Java

List<Rect> exclusionRects;

public void onLayout(
        boolean changedCanvas, int left, int top, int right, int bottom) {
    // Update rect bounds and the exclusionRects list
    setSystemGestureExclusionRects(exclusionRects);
}

public void onDraw(Canvas canvas) {
    // Update rect bounds and the exclusionRects list
    setSystemGestureExclusionRects(exclusionRects);
}

Ana sayfa veya hızlı geçiş hareketleriyle çakışmalar

Ana sayfa ve hızlı geçiş için yeni sistem hareketlerinin her ikisi de, daha önce gezinme çubuğunun bulunduğu alanda ekranın alt kısmında kaydırma işlemlerini içerir. Uygulamalar, geri hareketiyle yapabilecekleri için bu hareketleri devre dışı bırakamaz.

Android 10, bu sorunu azaltmak için WindowInsets.getMandatorySystemGestureInsets() API'yi kullanıma sundu. Bu API, uygulamaları dokunma tanıma eşikleri hakkında bilgilendiriyor.

Oyunlar ve görüntüleme içermeyen diğer uygulamalar

Görünüm hiyerarşisi olmayan oyunlar ve diğer uygulamalar genellikle kullanıcının sistem hareket alanlarının yakınında ekranı kaydırmasını gerektirir. Bu durumlarda, oyunlar sistem hareketleri için ayrılmış alanlarla çakışan alanları hariç tutmak için Window.setSystemGestureExclusionRects() özelliğini kullanabilir. Oyunlarda bu alanları yalnızca gerekli olduğunda (ör. oyun sırasında) hariç tutmalısınız.

Bir oyun, kullanıcının ana ekran hareketi alanının yakınında kaydırmasını gerektiriyorsa uygulama, yoğun içerik modunda yerleşmeyi isteyebilir. Bu, kullanıcı oyunla etkileşimde bulunurken sistem hareketlerini devre dışı bırakır ancak kullanıcının ekranın altından kaydırarak sistem hareketlerini yeniden etkinleştirmesine olanak tanır.

Tahmine dayalı geri hareketini destekleyecek şekilde uygulamanızı güncelleyin

Android 13 (API düzeyi 33) telefonlar, büyük ekranlar ve katlanabilir cihazlar gibi Android cihazlar için tahmine dayalı geri hareketi sunar. Tahmine dayalı geri hareketi, çok yıllık bir sürümün bir parçasıdır. Bu özellik tam olarak uygulandığında, kullanıcıların işlemi tamamlamadan önce hedefi veya geri hareketinin başka bir sonucunu önizlemelerine olanak tanır. Böylece, mevcut görünümde devam edip etmeyeceklerine karar verebilirler.

Ayrıntılar için Tahmine dayalı geri hareketi için destek ekleme bölümüne göz atın.

Ek kaynaklar

Hareketle gezinme hakkında daha fazla bilgi edinmek için aşağıdakilere bakın:

Blog yayınları

Videolar