Android 10'dan (API düzeyi 29) itibaren Android sistemi, 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 yönetme
Ayrıca Android 13 (API düzeyi 33), 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 tahmin edilen geri gitme hareketini 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
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 başlıklı makaleyi inceleyin.
Çakışan uygulama hareketlerini yönetme
Hareketle gezinme modeli, uygulama geliştiricilerin daha önce kullandığı hareketlerle çakışabilir. Bu nedenle, uygulamanızın kullanıcı arayüzünde düzenlemeler yapmanız gerekebilir.
Geri hareketleriyle çakışma
Geri gitmek için yeni sistem hareketi, ekranın sol veya sağ kenarından içeri doğru kaydırmaktır. Bu durum, söz konusu alanlardaki uygulama gezinme öğelerini etkileyebilir. Ekranın sol ve sağ kenarlarındaki öğelerin işlevselliğini korumak için sisteme hangi bölgelerin dokunmatik giriş alması gerektiğini belirterek geri hareketini seçerek devre dışı bırakın. Bunu yapmak için Android 10'da kullanıma sunulan View.setSystemGestureExclusionRects() API'sine bir List<Rect> iletebilirsiniz. Bu yöntem, androidx.core:core:1.1.0-dev01 itibarıyla ViewCompat'da da 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 sayfa veya hızlı geçiş hareketleriyle çakışmalar
Ana ekran ve hızlı geçiş için yeni sistem hareketleri, daha önce gezinme çubuğunun bulunduğu ekranın alt kısmında kaydırma hareketlerini içerir. Uygulamalar, geri hareketinde olduğu gibi bu hareketleri devre dışı bırakamaz.
Android 10, bu sorunu azaltmak için uygulamaları dokunma tanıma eşikleri hakkında bilgilendiren 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 uygulamalar genellikle kullanıcının sistem hareketi alanlarının yakınında kaydırma yapmasını gerektirir. Bu gibi durumlarda oyunlar, sistem hareketleri için ayrılmış 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 hareket alanının yakınında kaydırma yapmasını gerektiriyorsa uygulama, yoğun içerik modunda düzenlenmeyi isteyebilir. 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.
Tahmin edilen geri gitme hareketini desteklemek için uygulamanızı güncelleme
Android 13 (API düzeyi 33); telefonlar, büyük ekranlar ve katlanabilir cihazlar gibi Android cihazlar için tahmin edilen geri gitme hareketini kullanıma sunuyor. Tahmin edilen geri gitme hareketi, çok yıllık bir sürümün parçasıdır. Bu özellik tam olarak uygulandığında, kullanıcıların geri hareketini tamamen tamamlamadan önce geri hareketinin hedefini veya 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 verebilirler.
Ayrıntılar için Tahmin edilen geri gitme hareketi için destek ekleme başlıklı makaleyi inceleyin.
Ek kaynaklar
Hareketle gezinme hakkında daha fazla bilgi edinmek için aşağıdakilere bakın: