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: