Hareketle gezinmeyle uyumluluk sağlama

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

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

Ayrıca Android 13 (API düzeyi 33), çok yıllık bir sürümün parçası olarak telefonlar, büyük ekranlar ve katlanabilir cihazlar gibi Android cihazlar için tahmini geri hareketi özelliğini sunar. Uygulama geliştiriciler, uygulamalarının tahmin edilen geri gitme hareketini desteklemesini sağlamak için gerekli adımları atabilir.

Uygulama içeriğini uçtan uca sunma

Kayar gezinme çubuğunun sağladığı ek ekran alanından yararlanmak için uygulamanızda belirli değişiklikler yapılandırmanız gerekir.

Ayrıntılı bilgi için Uygulamanızda içeriği uçtan uca görüntüleme başlıklı makaleyi inceleyin.

Ç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 hareketleriyle çakışmalar

Geri gitmek için yeni sistem hareketi, ekranın sol veya sağ kenarından içeri doğru kaydırmadır. Bu durum, söz konusu alanlardaki uygulama gezinme öğeleriyle çakışabilir. Ekranın sol ve sağ kenarlarındaki öğelerin işlevselliğini korumak için, hangi bölgelerin dokunmatik giriş alması gerektiğini sisteme belirterek geri hareketini seçmeli olarak devre dışı bırakın. Bu işlemi, Android 10'da kullanıma sunulan View.setSystemGestureExclusionRects() API'ye List<Rect> ileterek yapabilirsiniz. Bu yöntem, ViewCompat'da androidx.core:core:1.1.0-dev01 itibarıyla kullanılabilir.

Örneğin:

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);
}

Ev veya hızlı geçiş hareketleriyle çakışma

Ana ekran ve hızlı geçiş için yeni sistem hareketlerinin her ikisinde de ekranın alt kısmında, daha önce gezinme çubuğunun bulunduğu alanda kaydırma yapılır. Uygulamalar, geri hareketinde olduğu gibi bu hareketleri devre dışı bırakamaz.

Android 10, bu sorunu azaltmak için dokunma tanıma eşiklerini uygulamalara bildiren WindowInsets.getMandatorySystemGestureInsets() API'sini kullanıma sunar.

Oyunlar ve diğer View dışı uygulamalar

Görünüm hiyerarşisi olmayan oyunlar ve diğer uygulamalarda genellikle kullanıcının sistem hareketi alanlarının yakınında kaydırma yapması gerekir. Bu gibi durumlarda oyunlar, sistem hareketleri için ayrılan alanlarla çakışan alanları hariç tutmak için Window.setSystemGestureExclusionRects() kullanabilir. Oyunlar, bu alanları yalnızca gerektiğinde (ör. oyun sırasında) hariç tutmalıdır.

Bir oyun, kullanıcının ana sayfa hareketi alanının yakınında kaydırma yapmasını gerektiriyorsa uygulama, yoğun içerik modunda düzenlenmeyi isteyebilir. Bu ayar, kullanıcı oyunla etkileşimde bulunurken sistem hareketlerini devre dışı bırakır ancak kullanıcının ekranın alt kısmından yukarı kaydırarak sistem hareketlerini yeniden etkinleştirmesine olanak tanır.

Tahmin edilen geri gitme hareketini desteklemek için uygulamanızı güncelleyin

Android 13 (API düzeyi 33), telefonlar, büyük ekranlar ve katlanabilir cihazlar gibi Android cihazlarda tahmin edilen geri gitme hareketini kullanıma sunar. Tahmin edilen geri gitme hareketi, çok yıllık bir yayın sürecinin parçasıdır. Bu özellik tam olarak uygulandığında, kullanıcıların geri hareketini tamamlamadan önce hedefi veya geri hareketinin diğer sonucunu önizlemesine olanak tanır. Böylece kullanıcılar devam edip etmeyeceklerine veya mevcut görünümde kalıp kalmayacaklarına karar verebilir.

Ayrıntılar için Add support for the predictive back gesture (Tahmin edilen geri gitme hareketine destek ekleme) başlıklı makaleyi inceleyin.

Ek kaynaklar

Hareketle gezinme hakkında daha fazla bilgi edinmek için aşağıdaki makaleleri inceleyin:

Blog yayınları

Videolar