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: