Hareketle gezinmeyle uyumluluk sağlama

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

  • Uygulama içeriğini uçtan uca genişletin.
  • Çakışan uygulama hareketlerini ele alın.

Buna ek olarak, Android 13 (API düzeyi 33); telefon, büyük ekran ve katlanabilir cihaz gibi Android cihazlar için çok yıllık bir sürüm kapsamında tahmini geri gitme hareketi sunmaktadır. Uygulama geliştiriciler, uygulamalarının tahmine dayalı geri hareketini desteklediğinden emin olmak için gerekli adımları atabilir.

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

Kayan gezinme çubuğunun sağladığı ek ekran alanından yararlanmak için uygulamanızda 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 konusuna bakın.

Çakışan uygulama hareketlerini ele alma

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

Geri hareketleriyle çakışmalar

Geri için yeni sistem hareketi, ekranın sol veya sağ kenarından içe doğru hızlıca kaydırmadır. Bu durum, bu alanlardaki uygulama gezinme öğelerini etkileyebilir. Ekranın sol ve sağ kenarlarındaki öğelerin işlevselliğini korumak için dokunma girişi alması gereken bölgeleri sisteme bildirerek geri hareketini seçici bir şekilde devre dışı bırakın. Bunu, Android 10'da kullanıma sunulan View.setSystemGestureExclusionRects() API'ye List<Rect> ileterek yapabilirsiniz. Bu yöntem androidx.core:core:1.1.0-dev01 tarihinden itibaren ViewCompat'te de 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);
}

Ana ekran veya hızlı geçiş hareketleri ile çakışmalar

Ana ekran 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ından hızlıca kaydırmayı içeriyor. Uygulamalar geri hareketiyle yapılabileceği şekilde bu hareketleri devre dışı bırakamaz.

Android 10, bu sorunu azaltmak amacıyla uygulamaları dokunma tanıma eşikleri hakkında bilgilendiren WindowInsets.getMandatorySystemGestureInsets() API'sini kullanıma sundu.

Oyunlar ve görüntüleme olmayan diğer uygulamalar

Görünüm hiyerarşisi olmayan oyunlar ve diğer uygulamalar genellikle kullanıcının sistem hareketi alanlarının yakınında kaydırma yapmasını gerektirir. Bu tür durumlarda, oyunlar sistem hareketleri için ayrılmış alanlarla çakışan alanları hariç tutmak üzere Window.setSystemGestureExclusionRects() özelliğini kullanabilir. Oyunlarda bu alanların yalnızca gerektiğinde (ör. oyun sırasında) hariç tutulması gerekir.

Bir oyun, kullanıcının ana sayfa hareketi alanının yakınında kaydırmasını gerektiriyorsa uygulama, etkileyici modda yerleşme isteğinde bulunabilir. 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 desteklemek için uygulamanızı güncelleyin

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

Ayrıntılar için Tahmine dayalı geri hareketi desteği ekleme bölümüne bakın.

Ek kaynaklar

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

Blog yayınları

Videolar