Hareketle gezinmeyle uyumluluk sağlama

Android 10 (API düzeyi 29) sürümünden itibaren Android sistemi, tamamen hareket tabanlı 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 kenardan kenara uzatın.
  • Çakışan uygulama hareketlerini işleme

Ayrıca Android 13 (API düzeyi 33), telefonlar, büyük ekranlar ve katlanabilir cihazlar gibi Android cihazlar için tahmini geri hareketi kullanıma sunuyor. Bu özellik, çok yıllık bir sürümün parçasıdır. Uygulama geliştiriciler, uygulamalarının tahmine dayalı geri hareketi.

Kenardan kenara uygulama içeriği sunma

Kayan reklam öğesinin sağladığı ek ekran alanından yararlanmak için uygulamanızda bazı değişiklikleri yapılandırmanız gerekir.

Uygulamanızda içeriği uçtan uca görüntüleme konusuna bakın. inceleyebilirsiniz.

Çakışan uygulama hareketlerini işleme

Hareketle gezinme modeli, daha önce uygulama geliştiricileri tarafından kullanılan hareketlerle çakışabilir. Uygulamanızın kullanıcısına göre ayarlamalar yapmanız gerekebilir arayüzü.

Geri hareketlerle çakışmalar

Geri için yeni sistem hareketi, soldan veya ekranın sağ kenarında. Bu durum, bu alanlarda uygulama gezinme öğelerini etkileyebilir. Ekranın sol ve sağ kenarlarındaki öğelerin işlevselliğini korumak için sisteme hangi bölgelerin dokunma girişi alması gerektiğini belirterek geri hareketini seçerek devre dışı bırakın. Bunu yapmak için List<Rect> - View.setSystemGestureExclusionRects() API, Android 10'da kullanıma sunuldu. Bu yöntem, androidx.core:core:1.1.0-dev01 itibarıyla ViewCompat'te 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 ekran ve hızlı geçiş için yeni sistem hareketleri, ekranın alt kısmında, daha önce gezinme çubuğunun bulunduğu alanda kaydırma hareketlerini içerir. Uygulamalar, geri hareketinde olduğu gibi bu hareketleri devre dışı bırakamaz.

Android 10, bu sorunu azaltmak için WindowInsets.getMandatorySystemGestureInsets() API'yi kullanabilirsiniz.

Oyunlar ve View dışındaki diğer uygulamalar

Görüntüleme hiyerarşisi olmayan oyunlar ve diğer uygulamalar için genellikle kullanıcının Sistem hareket alanlarının yakınında kaydırın. Böyle durumlarda oyunlar Window.setSystemGestureExclusionRects() tuşuna basarak sistem hareketleri için ayrılmış alanlarla çakışan alanları hariç tutabilirsiniz. Oyunlar bu alanları yalnızca gerektiğinde (ör. önemlidir.

Bir oyun, kullanıcının ekranı ana ekran hareketi alanının yakınında kaydırmasını gerektiriyorsa uygulama yoğunlaştırıcı modda bulunmasını talep eder. Bu, kullanıcı oyunla etkileşimde bulunurken sistem hareketlerini devre dışı bırakır ancak kullanıcının ekranın alt kısmı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), Android için tahmine dayalı geri hareketi sunuyor telefon, büyük ekran ve katlanabilir cihazlar gibi Tahmine dayalı geri dönüş hareketi çok yıllık bir yayının parçasıdır. Bu özellik tam olarak uygulandığında, kullanıcıların geri hareketini tamamen tamamlamadan önce hedefi veya geri hareketinin diğer sonuçlarını önizlemesine olanak tanır. Böylece kullanıcılar devam edip etmeyeceklerine veya mevcut görünümde kalıp kalmayacakları konusunda karar verebilir.

Görüntüleyin Tahmine dayalı geri hareketi için destek ekleme inceleyebilirsiniz.

Ek kaynaklar

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

Blog yayınları

Videolar